宏定义#define和常量const讨论帖

2020-02-05 08:54发布

各位大虾,不知你们在写程序时有没有遇到过这种情况:你在A.C文件中定义了一个宏#define VALUE 20 然后你在B.C中恰好需要用到这个宏。此时你们一般都怎么处理的?如果将#define VALUE 20 这个宏写在A.H 可是可以调用 但编程规范又不建议在头文件中定义宏!另一种做法是将可能会被别的模块调用的宏定义为常量方式 如:const unsigned char VALUE = 20;然后在A.H中声明,那么B模块只需包含A.H头文件就可以调用了,但是这样又会占用一个CHAR 内存的RAM。。。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
17条回答
chenway
1楼-- · 2020-02-07 10:38
头文件里加自己的宏定义的飘过~
AIHHLI
2楼-- · 2020-02-07 13:52
好像建议在.h文件中只放最小的对外部接口信息,但是很多时候觉得这样很不方便,比如LZ遇到的问题.....
unifax001
3楼-- · 2020-02-07 17:40
"编程规范不建议在头文件中定义宏"好像真没听说过的!头文件做防重复包含处理的。哪怕你就1 个C文件 也要做的 。
972661569
4楼-- · 2020-02-07 23:02
 精彩回答 2  元偷偷看……
youveer
5楼-- · 2020-02-08 02:31
看了一下gcc的头文件,全都是#define,想不出没有#define在头文件中,那是多么的痛苦

一周热门 更多>