__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者都支持。
测试代码
__FILE__, __LINE__ __FUNCTION__
原创
©著作权归作者所有:来自51CTO博客作者闻缺陷则喜何志丹的原创作品,请联系作者获取转载授权,否则将追究法律责任
上一篇:try catch整个函数
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
__FILE__、__LINE__、__DATE__、__TIME__、__FUNCTION__
文件名:info.c//文件名:info.c #include <stdio.h> void main() { printf("FILE: %s\n",__FILE__); &
__FILE__ __LINE__ __DATE__ __TIME__ __FUNCTION__ -
使用__LINE__,__FILE__调式代码
#include <stdio.h>#define DEBUG printf("file:%s, line:%d", __FILE__, __LIN
蓝桥杯 c语言 职场和发展 #include #define -
__FILE__,__LINE__,FUNCTION__实现代码跟踪调试
转:http://www.cnitblog.com/zouzheng/archive/2007/08/31/32
#define desktop #endif #include 编译器