易截截图软件、单文件、免安装、纯绿色、仅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函数的实现中,或者返 ......

Linux C 实现线程池

最近做的一些工作需要用到线程池技术,因此参考了一些资料和书籍,如《0bug c/c++商用工程之道》。
为此在linux平台上用纯c写了一个线程池的实现。
在此列出了原代码。
主要用到的数据结构有
1.struct  thread_pool_t    // thread pool 的实现代码
2.struct thread_pool_token_t  &nb ......

s3c2410 RTC驱动框架linux内核源码分析

实在无聊中就将原来的一些东西整理了一下,自己是个记性不好的人,隔断时间整理自己,同时也希望可以方便他人。
----------------------------------------------------------------------------------------------------------------------------------------
/**//*************************************************** ......

俄罗斯方块c源代码

#i nclude <stdio.h>
#i nclude <dos.h>
#i nclude <conio.h>
#i nclude <graphics.h>
#i nclude <stdlib.h>
#ifdef __cplusplus 
#define __CPPARGS ...
#else
#define __CPPARGS
#endif
#define MINBOXSIZE  ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号