Chinaunix首页 | 论坛 | 博客
  • 博客访问: 573385
  • 博文数量: 493
  • 博客积分: 2891
  • 博客等级: 少校
  • 技术积分: 4960
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-17 17:11
文章分类

全部博文(493)

文章存档

2010年(493)

分类:

2010-06-21 18:10:59

华为软件编程规范和范例
 
〔六〕 =====[ 函数、过程 ]=====

¹6-1 :对所调用函数的错误返回码要仔细、全面地处理

¹6-2 :明确函数功能,精确(而不是近似)地实现函数设计

¹6-3 :编写可重入函数时,应注意局部变量的使用(如编写C/C++ 语言的可重入函数时,应使用auto 即缺省态局部变量或寄存器变量)

说明:编写C/C++语言的可重入函数时,不应使用static局部变量,否则必须经过特殊处理,才能使函数具有可重入性。

¹6-4 :编写可重入函数时,若使用全局变量,则应通过关中断、信号量(即P V 操作)等手段对其加以保护

说明:若对所使用的全局变量不加以保护,则此函数就不具有可重入性,即当多个进程调用此函数时,很有可能使有关全局变量变为不可知状态。

示例:假设Examint型全局变量,函数Squre_Exam返回Exam平方值。那么如下函数不具有可重入性。

unsigned int example( int para )

{

    unsigned int temp;

    Exam = para; // **

    temp = Square_Exam( );

    return temp;

}

阅读(646) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~