pha*_*lan 2 c c++ macros c-preprocessor
在C和C++中,使用像这样的宏:
#if ( 1 == __MY_MACRO__ ) // Some code #endif
如果未定义MY_MACRO,编译器将无法捕获并将其视为0.当代码的设计旨在使宏必须定义(非零)时,这可能会导致许多隐藏的错误.
有没有让编译器报告这个,即使编译器本身不寻找这样的东西?
AAT*_*AAT 7
使用#if defined(__MY_MACRO__)测试如果宏值定义.
#if defined(__MY_MACRO__)
BLU*_*IXY 6
#ifndef __MY_MACRO__ #error "MY_MACRO NOT DEFINED" #endif
归档时间:
11 年,2 月 前
查看次数:
1557 次
最近记录: