预定义宏,
编译器通常会根据平台和编译选项的不同,为被编译的程序提供不同的预定义的宏,
例如WIN32 WIN64 LINUX, 例如DEBUG, RELEASE.
1. 在使用gcc/g++编译器时,可以通过以下命令打印出编译器预编译的宏。
gcc -dM -E - < /dev/null
2. 在VS IDE中,可以参看http://msdn.microsoft.com/zh-cn/library/b0084kay。
除了预定义宏,编译器还允许在编译时,用户自定义宏:
1. 在使用gcc/g++编译器时,通过添加 -D 选项,添加用户自定义的宏。
例如: g++ -o test -D USERM test.cpp
这样就在预处理test.cpp之前,添加了 USERM这个宏定义。
2. 在VS IDE中,可以点击项目的properties页面,选择C++页选项,点击preprocessor,在右边的preProcessor Definitions中添加用户自己的宏,
同样,也会在project预处理之前添加自定义的宏。
参考:
http://jmpcn.bokee.com/5772194.html
http://msdn.microsoft.com/zh-cn/library/b0084kay
http://jishudaima.iteye.com/blog/955083
http://msdn.microsoft.com/en-us/library/y4skk93w(v=vs.80).aspx