C语言在头文件中定义const变量详解
2017-05-14 09:34
549 查看
C语言在头文件中定义const变量详解
在头文件中定义const不会有多变量的警告或错误,如果该头文件被大量包含会造成rom空间的浪费。
通过查看*.i文件的展开呢,可以发现每个.i文件都会有相应的变量展开。
查看*.map文件,能查看到该变量的多个地址分配。
在预编译的时候如果在头文件定义了const变量,每一个包含该头文件的c文件都会将其展开,而在编译的时候不会报错,因为这符合语法规则,每一个包含这个头文件的*.c文件都会编译一次这个变量,分配一个新的地址,然后在链接的时候也不会报错,因为每个同名变量都有自己的地址空间,虽然程序运行不会带来问题,但是如果变量多了,会造成rom的大量浪费
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
您可能感兴趣的文章:
相关文章推荐
- C语言之头文件预定义宏的作用
- [C语言]防止头文件和全局变量重复定义
- 补习C语言之在.h文件中定义全局变量
- C语言如何跨文件调用函数定义中声明的变量
- C语言如何跨文件调用函数定义中声明的变量
- 为什么C语言的同一个文件中可以定义两个接口完全相同的函数?
- C语言中尽量不要在头文件中定义变量
- 详解keil采用C语言模块化编程时全局变量、结构体的定义、声明以及头文件包含的处理方法
- C语言好难——在头文件中定义const变量
- [C语言项目]防止头文件和全局变量重复定义
- 详解keil采用C语言模块化编程时全局变量、结构体的定义、声明以及头文件包含的处理方法!
- C语言中头文件的定义
- [C语言]防止头文件和全局变量重复定义
- C语言中头文件是如何包含的?也说重定义
- keil 中——C语言模块化编程时全局变量、结构体的定义、声明以及头文件包含的处理方法
- C语言多文件编译时,编译器不检测其声明的变量类型与定义时的类型是否匹配
- 详解keil采用C语言模块化编程时全局变量、结构体的定义、声明以及头文件包含的处理方法!
- C语言好难——在头文件中定义const变量
- C语言中怎样调用其他文件定义的结构体
- 写了个用一个文件定义样式的DataGrid