头文件之辨条件编译(二)
来源:互联网 发布:python 时间转日期 编辑:程序博客网 时间:2024/05/17 23:03
我们知道在变量和类型的编程中,特别是在c语言和VC中区分了声明(Declare)和定义(definde)。在头文件中我们一般只完成声明,告诉使用方如何使用,但一般并不为这些声明分配内存(例如,变量或代码占用内存)。所以,秉承前一个头文件之辨中所提到的,头文件自身再引用头文件时,一般以够用为“要”,源文件在实现时,可能需要引用更多的头文件才能完成,这时候再引用更多的头文件。
在头文件中一般不定义,也并非绝对,也会有某些意外在里面。所以,在编译中有了条件编译指令来解决
但是,如果一个静态的lib库和你当前的工程中遇到重复定义的问题,例如,some GUID的重复定义为问题。则不太好办,因为静态库是没有办法修改的。对于当时遇到的问题,经过多方面查找网上资料,发现和印证了initguid.h对于某些directsound相关guid的定义有影响。其实分析此重复定义问题,看看这些GUID的声明方式受到一个定义在initguid.h的宏定义的影响,也可以顺藤摸瓜找到此解决方式。
在一些事情的哲学上,我总坚持,对于有些无法应对的场景应该如何应对,不是我们思考的,而是我们在开始就做准备如何避免这种情况的方式。像我遇到的静态库与当前工程重复定义的冲突,其实就是如此,自己找了一些麻烦:(
- 头文件之辨条件编译(二)
- 成为C++高手之头文件与条件编译
- 【C++】使用条件编译的头文件
- 预处理:头文件、宏定义、条件编译
- c++ 编译之头文件
- c++ 编译之头文件
- 'fd_set' redefinition winsock2.h,相关头文件条件编译处理
- 条件编译,几防止头文件重复包含
- VC++头文件中的条件编译问题(转载)
- C语言#define条件编译避免多重包含头文件
- C语言头文件条件编译避免重复引用
- C/C++头文件,宏,内联函数,条件编译
- VC++头文件中的条件编译问题(转载)
- 【原创】头文件、宏定义、条件编译、避免头文件重复包含
- C语言的本质(20)——预处理之二:条件预处理和包含头文件
- c# 条件编译(二)
- 条件编译,头文件,静态库,共享库与多文件编程
- 辨异 —— 逻辑之辨
- c#中using-添加引用-程序集(详解) 以及与 c++中include等区别
- OpenERP 7.0 Logo替换
- GCD LCM--UVA11388
- 基带信号处理模块
- VS2005下配置OpenCV2.1
- 头文件之辨条件编译(二)
- 100分-态度决定一切
- C++暂停黑窗口 system( “pause “);
- cmd有关jar的几个命令
- (五)
- ubuntu10.10 document viewer的pdf中文乱码问题
- Core Animation之多种动画效果
- HBase性能优化方法总结(4):读表操作
- [python相关]Python中函数的参数定义和可变参数