免费注册 查看新帖 |

Chinaunix

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

[C] C语言中怎么样把时间转到20041225这样的? [复制链接]

论坛徽章:
0
1 [报告]
发表于 2004-12-27 14:34 |显示全部楼层

C语言中怎么样把时间转到20041225这样的?

给wanbin喊喊冤
我觉得初始化是个好习惯.
全memset成0是浪费了点CPU的时间,如果是字符串的话把第一个置成0就OK了.但这样也有问题,万一后面对他直接使用了类似memcpy之类的东西就不能保证以0结束了.
万事小心为妙,大多数情况下还是不会在乎节约那一点CPU时间的.为了避免浪费人大量的时间来查找错误浪费点CPU的时间还是值得的.

论坛徽章:
0
2 [报告]
发表于 2004-12-27 15:58 |显示全部楼层

C语言中怎么样把时间转到20041225这样的?

原帖由 "flw" 发表:
该用就用,不该用就不用。
功底差且不思进去的朋友们多用用无妨,
不过,有些要求比较高的好公司是不要这样的程序员的。
所以,如果想把这一行干好,就还是参考一下 aero 的观点吧。


不敢苟同.
实际上应用界的发展趋势是将程序员的注意力从这些细节上移开
把更多精力集中到业务逻辑上去.

在学习中把这些搞清楚是好事情,并不表示在做事情的时候也要始终去关注你本来就明白的事情.

论坛徽章:
0
3 [报告]
发表于 2004-12-27 16:16 |显示全部楼层

C语言中怎么样把时间转到20041225这样的?

原帖由 "aero" 发表:

You should use java instead c.I think that kind of c code is very ugly.


我之所以目前做的事情选择C而不是java不是因为C很高尚.
而是因为实际的需要.

我也不认为程序加了一个memset就导致了"ugly"
我关心的是开发团队的效率和程序的健壮性.
客户永远不会关心你的程序里有没有memset.
客户关心的就两点,就是我上面提到的.

我只想老老实实做一个工程师,没有想过成为一个艺术家,这或许就是不思进取?

论坛徽章:
0
4 [报告]
发表于 2004-12-28 11:08 |显示全部楼层

C语言中怎么样把时间转到20041225这样的?

兄弟们说的都很好.
总结起来实际上就是看问题的角度不同.

aero说的没有错,如果在系统层做事情memset这东西当然是铺张浪费.
做嵌入式因为硬件限制也不允许这种铺张浪费.我前面所指只是就应用程序而言.

我觉得做程序要找到一个平衡点,不可否认太过频繁的使用了memset会使程序效率上受到影响,过多分配的内存会使程序占用的资源大大上升.但就象马克思他老人家说的,事物都是有两面性的,由此带来的好处就是程序的开发周期缩短,可维护性增强等等.片面的追求哪一方面都不能说是正确的,如果可以找到一个可以接受的中间点那何乐而不为呢.

现在的情况是硬件资源的价格要远远低于人力资源的价格,用机器的时间来换人的时间还是比较划算的一件事情.放在十年前那是另一种情况.

flw老大,今天我和你意见差别可大了点.
首先,如果这个程序是你一个人写,我个人相信你的能力可以写好没问题.但现在又有多少个工程是一个人干下来的.你不可能寄希望于开发团队里每个人都和你的水平一样,而且一直都保持一颗清醒的头脑,所以如果条件允许还是在出问题的源头把他堵住的好.
其次,不能简单的分读操作还是写操作而辨别是否用memset之类的初始化.有些变量定义了可能在很远以后才会使用.不会一次考虑那么远的.

我曾经碰到这样一个问题.前人写了这样一段代码

  1. char strbuf[1024] ;
  2. ........
  3. ........
  4. strcpy(strbuf, "initstr") ;
  5. ........
  6. ......
  7. strcat(strbuf, "str1") ;
  8. strcat(strbuf, "str2") ;
  9. .......
  10. .......
复制代码

后来有人处于某些情况又改了这个程序,把strcpy那段去掉了.
结果可想而知.

可能有人会说那就只能怪后面改的那人学艺不精.
但这根本就是可以用一个memset避免的.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP