解决头文件定义变量的问题,巧用宏定义(续)
来源:互联网 发布:js copy对象 编辑:程序博客网 时间:2024/06/03 22:56
继昨天遇到的头文件定义变量问题,总得要想办法解决啊,不然xcode没法调试啊~~
改还得要从头文件改起,想到符号重复问题是因为多个.c都包含了这个头文件,都定义了一次,所以链接就不知道要哪一个了啊,常见的解决办法不就是加extern呗。但是这个工程师所有的都是包含的一个“万能”头文件,所以要是加了extern不就没定义了么?说到这儿可能有人已经想到解决办法了,没错,就是让其中一个包含这个头文件的.c文件来定义,其他的所有.c文件都是extern的声明就好了,所以必然要用宏了呗
#ifdef XXX
XXX
#else
extern XXX
#endif
答题就是如此了,在其中一个.c文件中#define XXX就好了,千万不能再工程中定义这个宏,否则所有的.c文件就都有这个宏定义了。
但是总不可能让我吧所有的变量都加上exter吧,好累哦,想到一个好办法,还是只有用宏
#define int extern int
#define short extern short
XXXXX
#undef int
#undef short
这样就好了,记住后面一定要有#undef 不然不就乱套了。看来有时候宏定义真是个好东西。
终于可以愉快地研究算法了,呵呵!
最后附上一张调试成功的图吧:
0 0
- 解决头文件定义变量的问题,巧用宏定义(续)
- #ifndef 解决局部变量定义的问题——共享文件头导致重定义问题
- 头文件定义变量的问题
- 头文件中定义变量的问题
- 解决重复包含一个头文件时变量重复定义的问题
- 关于头文件变量重复定义问题怎么解决(thinkvd开发日志)
- static在头文件中定义变量的问题
- 温故而知新,回顾一个头文件定义变量的问题
- 头文件定义并初始化变量的问题
- C语言头文件中定义变量问题(转)
- 头文件中的变量定义
- 头文件中定义变量
- 头文件中定义变量
- Keil头文件重复定义的问题
- 头文件的定义
- 头文件中定义变量和声明变量的方法
- 头文件重复定义的问题&宏定义
- C语言头文件中定义变量问题
- 【GDOI2017模拟2.25】太空飞船
- HDU2152母函数
- http://blog.csdn.net/fjb2080/article/details/7969832
- MATLAB工具箱路径缓存
- TFTP&NFS 的配置
- 解决头文件定义变量的问题,巧用宏定义(续)
- 工厂模式
- IO流
- install hadoop in fedora
- linux 概念之pid tid区分
- php实现自动加载类
- C++STL之String详解
- 简单算法
- Cogs 763. [USACO Open09] 数字的游戏(博弈)