06.函数过程.docVIP

  • 3
  • 0
  • 约5.54万字
  • 约 22页
  • 2017-01-03 发布于河南
  • 举报
6 函数、过程 6-1:对所调用函数的错误返回码要仔细、全面地处理。 6-2:明确函数功能,精确(而不是近似)地实现函数设计。 6-3:编写可重入函数时,应注意局部变量的使用(如编写C/C++语言的可重入函数时,应使用auto即缺省态局部变量或寄存器变量)。 说明:编写C/C++语言的可重入函数时,不应使用static局部变量,否则必须经过特殊处理,才能使函数具有可重入性。 6-4:编写可重入函数时,若使用全局变量,则应通过关中断、信号量(即P、V操作)等手段对其加以保护。 说明:若对所使用的全局变量不加以保护,则此函数就不具有可重入性,即当多个进程调用此函数时,很有可能使有关全局变量变为不可知状态。 示例:假设Exam是int型全局变量,函数Squre_Exam返回Exam平方值。那么如下函数不具有可重入性。 unsigned int example( int para ) { unsigned int temp; Exam = para; // (**) temp = Square_Exam( ); return temp; } 此函数若被多个进程调用的话,其结果可能是未知的,因为当(**)语句刚执行完后,另外一个使用本函数的进程可能正好被激活,那么当新激活的进程执行到此函数时,将使Exam赋与另一个不同的para值,所以当控制重新回到“tem

文档评论(0)

1亿VIP精品文档

相关文档