我供职的公司有C开发嵌入式目标的开发规则。一是:
建议不要在头文件中分配任何存储空间。
我不知道这是什么意思,写这篇文章的人不在身边,其他开发人员也不在乎,所以我在这里问。
我的理解是,我不应该在头文件中声明变量,因此在a.h中不鼓励这样做:

   int myVar;
   static char myOtherVar;

我不明白的是这有什么问题?我为什么不做呢?

最佳答案

错误的是,外部变量被双重定义,而static为包含头的每个模块定义一个变量,这会浪费空间(除非它们得到优化)。

10-08 07:11