首页 > 其他 > 详细

编程规范(一)

时间:2015-08-12 01:25:40      阅读:180      评论:0      收藏:0      [点我收藏+]
1. kmalloc函数接口:
   在我们使用的时候经常使用该接口,但是我们很少注意过这个接口的一些比较重要的
   内核接口,例如:
   /*申请一个HASH表的大小*/
   #define HASH_MALLOC_SIZE 1024*1024

   ...
   char *pHashMalloc;
   pHashMalloc = (CHAR *)kmalloc(sizeof(tag_HASH_TABLE *) + HASH_MALLOC_SIZE*4);
   ...
   申请的空间的大小为:(4M+24)字节,由于kmalloc申请内存的时候是按照
   2的N次方的大小申请的,实际上申请的大小为8M的大小,这样就浪费了将近4M的内存大小。
   所以,需要我们在编写这类程序的时候,注意字节对齐。
2. #define THE_SIZE_OF_ARRAY    100
   char ucTemp[THE_SIZE_OF_ARRAY] = "\0";
   ...
   这样的代码虽然看着没什么问题,但是当我们用汇编查看这段代码的时候,
   就会发现这样的代码会占用100字节的BSS段的空间,对于一些内存受限的
   设备,这些空间可能非常珍贵。
   char ucTemp[THE_SIZE_OF_ARRAY];
   ucTemp[0]=0;
   这样的操作可以避免我们错误的对数组赋值,例如(ucTemp[0] = ‘\0‘就很容易写成ucTemp[0] = ‘0‘)
3. fflash(),fclose()接口
   一般情况下我们不会判断函数的返回值,但是在实际使用中,只有我们判断这两个函数的返回值,
   才可以更有效的利用有限的内存空间。

版权声明:本文为博主原创文章,未经博主允许不得转载。

编程规范(一)

原文:http://blog.csdn.net/u014100559/article/details/47430475

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!