免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: HopeCao
打印 上一主题 下一主题

出现频率最高的笔试题strcpy写法 [复制链接]

论坛徽章:
0
51 [报告]
发表于 2008-09-28 09:25 |只看该作者
强, 顶起收藏..

论坛徽章:
8
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58技术图书徽章
日期:2013-12-04 10:48:50酉鸡
日期:2014-01-03 10:32:30辰龙
日期:2014-03-06 15:04:07
52 [报告]
发表于 2008-09-28 09:26 |只看该作者
嗯,总结一句话:

事实上,从sign 11的意义上说,无论是gcc还是ms的实现,其实都是检查过空指针的。

既然操作系统已经替你做过了,在每一细部再做一次,有何必要?
(当然,大局上,如果你的函数还将调用其他函数,那么确实是应该检查参数以避免错误流窜——但是,还是那句话:一旦检查到错误而你又无法准确界定根本原因,那么请动用sign 11)

论坛徽章:
0
53 [报告]
发表于 2008-09-28 09:35 |只看该作者
C函数里写throw,
对兼容性的敏感度不够,不予任用。。。

论坛徽章:
8
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58技术图书徽章
日期:2013-12-04 10:48:50酉鸡
日期:2014-01-03 10:32:30辰龙
日期:2014-03-06 15:04:07
54 [报告]
发表于 2008-09-28 09:48 |只看该作者
一个重要的系统,认真搞好sign(或其它OS提供的机制)的处理才是正道。


sign(或与之相当的其他东西)传来,就代表着一个未知的故障发生了。
正因为“未知”,所以通用处理机制才特别好设计(甚至已经被封装为标准的try-catch机制了)

所以,这种机制一旦实现一次(即使很不熟悉相关方面,但只要人员资质足以理解sign机制,那么投入1人月也已经相当宽裕了),今后公司的所有项目都可以从中受益。

另外,一段代码被重用越多,它就越不可能存在未知的bug。


即使从短期来看,这样做的好处也是非常明显的。

论坛徽章:
8
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58技术图书徽章
日期:2013-12-04 10:48:50酉鸡
日期:2014-01-03 10:32:30辰龙
日期:2014-03-06 15:04:07
55 [报告]
发表于 2008-09-28 10:00 |只看该作者
原帖由 思一克 于 2008-9-27 14:04 发表
我原来是修理电视的


握个手。我以前也是死修电视的

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
56 [报告]
发表于 2008-09-28 10:58 |只看该作者
楼主和思一克的观点是从两个不同角度来考虑的,都非常有道理。

我们从代码的健壮性考虑的话,楼主的分析相当精辟。但从程序效率和C语言的本质来看,思一克大大的观点也相当的有道理。对比python,在python中你不用担心什么内存管理的事情,,但C你却要自己照顾好你对内存的使用。在业务中,你使用哪种语言也取决于你需要高性能还是开发的高效率。

论坛徽章:
0
57 [报告]
发表于 2008-09-28 11:00 |只看该作者
哈. 同行呀. 我还爬过几个星期电线杆呢. 比你强的多了.

这贴很好. 因为涉及到编程的一些思想. 会影响人的程序设计. 也让人明白了为什么那么成熟的库函数中竟然没有参数检查.



原帖由 shan_ghost 于 2008-9-28 10:00 发表


握个手。我以前也是死修电视的

论坛徽章:
0
58 [报告]
发表于 2008-09-28 12:54 |只看该作者
我的理解是LZ的例子里并没有排斥crash, 就算做了判断也会有crash的情况发生,比如对于一个非法内存(它!=NULL),那么程序也无法判断其合法性. 感觉两种方法是"你中有我,我中有你",当然针对实际的具体情况时会有所侧重。

论坛徽章:
0
59 [报告]
发表于 2008-09-28 16:34 |只看该作者
很好很强大。

论坛徽章:
0
60 [报告]
发表于 2008-09-28 21:27 |只看该作者
原帖由 seawolf1979 于 2003-3-3 00:00 发表
高质量c_c++编程 里的,呼呼

这好像是MS出的面试题!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP