zoukankan      html  css  js  c++  java
  • 编程规范(一 之kmalloc,fflush,fclose,char_init)

    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] = "";
       ...
       这种代码尽管看着没什么问题。可是当我们用汇编查看这段代码的时候,
       就会发现这种代码会占用100字节的BSS段的空间。对于一些内存受限的
       设备。这些空间可能非常珍贵。
       char ucTemp[THE_SIZE_OF_ARRAY];
       ucTemp[0]=0;
       这种操作能够避免我们错误的对数组赋值,比如(ucTemp[0] = ''就非常easy写成ucTemp[0] = '0')
    3. fflash(),fclose()接口
       普通情况下我们不会推断函数的返回值。可是在实际使用中,仅仅有我们推断这两个函数的返回值。
       才干够更有效的利用有限的内存空间。

  • 相关阅读:
    phpcms相关
    php文件缓存
    js 、jq强化复习
    框架替换主页
    羽恒梦工厂所有后台的操作页面
    羽恒梦工厂个人中心
    羽恒梦工厂详情页
    待查的问题
    ASP.NET中的常用快捷键
    快速排序
  • 原文地址:https://www.cnblogs.com/mfmdaoyou/p/6853856.html
Copyright © 2011-2022 走看看