从别的地方看到的:C/C++中预编译#,##,#error作用
但是觉得有些笔误,所以自己做了一定修改,并添加了自己的几句话:
#是生成字符串:
            #define a(x) #x
            a(bc)  =>   "abc"
##是连接:
            #define a(x) abc##x
            a(123)  =>  abc##123  => abc123
#error是生成编译错误消息:
 
            #ifdef abc
                  #error something wrong…
            #endif
            //如果abc是已经定义的宏,那么编译的时候就会显示错误消息something wrong…
#error的作用是,让错误尽可能在编译阶段就被发现,并改正,这样可以减少出错成本,因为错误的发现和解决,越到后期,发现的难度,解决的成本,就越高。
转载请注明:在路上 » C/C++中预编译#,##,#error作用