判断一个程序是C编译的还是C++编译

判断一个程序是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就会被定义。
原文: http://www.software8.co/wzjs/cpp/1208.html

你可能感兴趣的:(判断一个程序是C编译的还是C++编译)