C语言在头文件中定义const变量详解
在头文件中定义const不会有多变量的警告或错误,如果该头文件被大量包含会造成rom空间的浪费。
通过查看*.i文件的展开呢,可以发现每个.i文件都会有相应的变量展开。
查看*.map文件,能查看到该变量的多个地址分配。
在预编译的时候如果在头文件定义了const变量,每一个包含该头文件的c文件都会将其展开,而在编译的时候不会报错,因为这符合语法规则,每一个包含这个头文件的*.c文件都会编译一次这个变量,分配一个新的地址,然后在链接的时候也不会报错,因为每个同名变量都有自己的地址空间,虽然程序运行不会带来问题,但是如果变量多了,会造成rom的大量浪费
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
新闻热点
疑难解答
图片精选