最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

C/C++中预编译#,##,#error作用

工作和技术 crifan 2117浏览 0评论

从别的地方看到的: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作用

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (1)

  1. 你丫第一个写错了,试验了吗就贴上来?!用屁股想象也不能把宏名组合成字符串啊!赶紧改,误人子弟哇...
    lck_116年前 (2009-03-02)回复
82 queries in 0.232 seconds, using 22.14MB memory