洛阳北大青鸟:如何判断一个程序是C编译的还是C语言编译
发布时间:2012-12-29 14:21:51 点击:0
洛阳北大青鸟导读:我们如何判断一个程序是C编译的还是C语言编译的呢?下面是洛阳北大青鸟的课程老师总结的一些区别方法:如果编译器在编译cpp文件那么__cplusplus 就会被定义 如果是一个c文件在被编译那么__STDC__就会被定义__S...
我们如何判断一个程序是C编译的还是C语言编译的呢?下面是洛阳北大青鸟的课程老师总结的一些区别方法:如果编译器在编译cpp文件那么__cplusplus 就会被定义 如果是一个c文件在被编译那么__STDC__就会被定义
__STDC__是预定义宏.当它被定义后,编译器将按照ansic标准来编译你的c程序.
ANSIC标准定义了以下6种可供C语言使用的预定义宏:
__LINE__ 在源代码中插入当前源代码行号
__FILE__ 在源代码中插入当前源代码文件名
__DATE__ 在源代码中插入当前编译日期〔注意和当前系统日期区别开来〕
__TIME__ 在源代码中插入当前编译时间〔注意和当前系统时间区别开来〕
__STDC__ 当要求程序严格遵循ANSIC标准时该标识符被赋值为1.
__cplusplus
标识符__LINE__和__FILE__通常用来调试程序;
标识符__DATE__和__TIME__通常用来在编译后的程序中加入一个时间标志,以区分程序的不同版本;
当要求程序严格遵循ANSIC标准时,标识符__STDC__就会被赋值为1;
当用C++编译程序编译时,标识符__cplusplus就会被定义.