易截截图软件、单文件、免安装、纯绿色、仅160KB

C标准预定义宏

ANSI C标准中有几个标准预定义宏:__FILE__     __DATE__   __TIME___    __LINE__   等
__LINE__:在源代码中插入当前源代码行号;
__FILE__:在源文件中插入当前源文件名;
__DATE__:在源文件中插入当前的编译日期
__TIME__:在源文件中插入当前编译时间;
__STDC__:当要求程序严格遵循ANSI C标准时该标识被赋值为1;
__cplusplus:当编写C++程序时该标识符被定义。
这几个宏比较有用~~~~~~~~
在调试程序时或编译时,__LINE__比较有用,可以用来打印逻辑错误的行号~~~~~~~,例子:
switch(x)
{
         case 1:
                   ....;
                   break;
         case 2:
                   .....;
                  break;
          default:
            printf("logic erro line number%d!\n",__LINE__);
            break;
}
又如利用__DATE__和__TIME__可以插入编译时间。
代码:
void print_version_info(void)
{
         printf("Date Compiled:%s\n",__DATE__);
         printf("TimeCompiled:%s\n",__TIME__);
}
输出格式为:mm dd yy 和 hh:mm:ss
作用:对于__FILE__,__LINE__,__func__这样的宏,在调试程序时是很有用的,因为你可以很容易的知道程序运行到了哪个文件的那一
行,是哪个函数。
      
下面一个例子是打印上面这些预定义的宏的。
__DATE__,__FILE__,__LINE__,__TIME__,__FUNCTION__
C标准中


相关文档:

C Compiler Warning Abstract

在此摘录C编译时出现的警告信息的意义。
1) warning: ISO C90 forbids mixed declarations and code
C语言是面向过程的语言,这个警告通常表示声明应该在其他代码的前面。
2) warning: initialization from incompatible pointer type
在Linux kernel中有许多callback函数,这个警告表明callback函数的实现中,或者返 ......

C 语言 malloc 和 free函数浅谈

来自bccn C语言论坛
首先声明一点,本文为转贴。
浅谈C中的malloc和free
作者:lj_860603    阅读人次:43013    文章来源:本站原创    发布时间:2006-8-5    网友评论(32)条
原帖及讨论:http://bbs.bccn.net/thread-82212-1-1.html
    在C语言的学习中,对内 ......

操作系统学习笔记(14) C和汇编相互调用

; 编译链接方法
; (ld 的‘-s’选项意为“strip all”)
; gcc -c not link
;
; [root@XXX XXX]# nasm -f elf foo.asm -o foo.o
; [root@XXX XXX]# gcc -c bar.c -o bar.o
; [root@XXX XXX]# ld -s foo.o bar.o -o foobar
; [root@XXX XXX]# ./foobar
; the 2nd one
; [root@XXX XXX]#
exter ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号