C/C++语言宏定义使用实例详解
C/C++语言宏定义使用实例详解
1.#ifndef防止头文件重定义
在一个大的软件工程里面,可能会有多个文件同时包含一个头文件,当这些文件编译链接成
一个可执行文件时,就会出现大量“重定义”的错误。在头文件中实用#ifndef#define#endif能避免头文件的重定义。
方法:例如要编写头文件test.h
在头文件开头写上两行:
#ifndefTEST_H #defineTEST_H//一般是文件名的大写
头文件结尾写上一行:
#endif
这样一个工程文件里同时包含两个test.h时,就不会出现重定义的错误了。
注:VisualC++中有一种简化的方法,那就是使用#pragmaonce
2.编写跨平台的C/C++程序
2.1操作系统相关宏定义
Windows:WIN32 Linux:linux Solaris:__sun
2.2编译器相关宏定义
VC:_MSC_VER GCC/G++:__GNUC__ SunCC:__SUNPRO_C和__SUNPRO_CC
3.完整的代码实例
//Avoidredefineanythinginthisheader #ifndefUUID_H #defineUUID_H //CheckplatformisWindowsorLinux #ifdef_MSC_VER #ifndefDLL_API #defineDLL_API__declspec(dllexport) #endif #else #ifndefDLL_API #defineDLL_API #endif #endif #include#include #include #include usingnamespacestd; classDLL_APIUUID{ public: staticstringgetUuidString(); }; #endif
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!