0
点赞
收藏
分享

微信扫一扫

__FILE__, __LINE__ __FUNCTION__


  __FILE__, __LINE__ 是ANSI C语言标准,各种C编译器都应当支持。而 __FUNCTION__ 是C99标准,故一些老的编译器就不支持。如gcc支持__FUNCTION__,而vc6就不支持。

重申一遍,这些宏是编译器内置宏,无法定义,也不需要定义,就如c语言关键字一样。

经测试:
1,cygwin 1.7.9-1 gcc-g++ 3.4.4-999测试3者都支持。
2,VS2002(VC7)3者都支持。

测试代码

#include <iostream>

using namespace std;



int main()

{

cout<<__FILE__<<" "<<__LINE__<<" "<<__FUNCTION__<<endl;

return 0;

}

举报

相关推荐

0 条评论