- 论坛徽章:
- 0
|
C语言中怎么样把时间转到20041225这样的?
兄弟们说的都很好.
总结起来实际上就是看问题的角度不同.
aero说的没有错,如果在系统层做事情memset这东西当然是铺张浪费.
做嵌入式因为硬件限制也不允许这种铺张浪费.我前面所指只是就应用程序而言.
我觉得做程序要找到一个平衡点,不可否认太过频繁的使用了memset会使程序效率上受到影响,过多分配的内存会使程序占用的资源大大上升.但就象马克思他老人家说的,事物都是有两面性的,由此带来的好处就是程序的开发周期缩短,可维护性增强等等.片面的追求哪一方面都不能说是正确的,如果可以找到一个可以接受的中间点那何乐而不为呢.
现在的情况是硬件资源的价格要远远低于人力资源的价格,用机器的时间来换人的时间还是比较划算的一件事情.放在十年前那是另一种情况.
flw老大,今天我和你意见差别可大了点.
首先,如果这个程序是你一个人写,我个人相信你的能力可以写好没问题.但现在又有多少个工程是一个人干下来的.你不可能寄希望于开发团队里每个人都和你的水平一样,而且一直都保持一颗清醒的头脑,所以如果条件允许还是在出问题的源头把他堵住的好.
其次,不能简单的分读操作还是写操作而辨别是否用memset之类的初始化.有些变量定义了可能在很远以后才会使用.不会一次考虑那么远的.
我曾经碰到这样一个问题.前人写了这样一段代码
- char strbuf[1024] ;
- ........
- ........
- strcpy(strbuf, "initstr") ;
- ........
- ......
- strcat(strbuf, "str1") ;
- strcat(strbuf, "str2") ;
- .......
- .......
复制代码
后来有人处于某些情况又改了这个程序,把strcpy那段去掉了.
结果可想而知.
可能有人会说那就只能怪后面改的那人学艺不精.
但这根本就是可以用一个memset避免的. |
|