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

C编译的伪指令

一般变量定义在*.c文件中,而*.h文件中声明变量或函数名和符号名.
避面重复编译的解决方法:
    比如你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件都要调用同一个头文件去编译,重复编译会产生大量的声明冲突。解决这个问题的方法使用#ifndef, #endif, #endif。
    一般格式是这样的:
    #ifndef <标识>
    #define <标识>
    ...  (插入头文件内容)
    #endif
    <标识>在理论上来说可以是自由命名的,但每个头文件的这个“标识”
都应该是唯一的。标识的命名规则一般是头文件名全大写,前后加下划
线,并把文件名中的“.”也变成下划线,如:stdio.h 写成下面这样:
    #ifndef _STDIO_H_
    #define _STDIO_H_
    ...
    #endif 
条件编译
    一般情况下,源程序中所有的行都参加编译。但是有时希望对其中一部分内容只在满足一定条件才进行编译,也就是对一部分内容指定编译的条件,这就是“条件编译”。有时,希望当满足某条件时对一组语句进行编译,而当条件不满足时则编译另一组语句。条件编译常用 #ifdef,#else,#endif,#if等进行说明。
    一般有3种情况使用:
    情况1:
    #ifdef _XXXX
    ...程序段1...
    #else
    ...程序段2...
    #endif
    这表明如果标识符_XXXX已被#define命令定义过则对程序段1进行编译;否则对程序段2进行编译。例如:
    #define NUM
    …
    #ifdef NUM
    printf("之前NUM有定义\n");
    #else
    printf("之前NUM没有定\n");
    #endif
    如果程序开头有#define NUM这行,即NUM有定义,碰到下面#ifdef NUM的时候,当然执行第一个printf。否则第二个printf将被执行。可以很方便的开启/关闭整个程序的某项特定功能。
    情况2:
    #ifndef _XXXX
&nb


相关文档:

Keil C中用unsigned long要注意的问题

 Keil C里用到了unsigned long长整型变量,编译时都能通过,但运行时老是溢出,同伙百度到了此贴,解决了问题,于是转帖于此:
今天调试一个乘法,出了点问题,先看代码示意:
void test(void)
{
       unsigned long mid1,mid2,mid3;
       mid1 ......

在LINUX下进行C语言编程所需要的基础知识

 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将会学到以下内容:
源程序编译
Makefile的编写
程序库的链接
程序的调试
头文件和系统求助
--------------------------------------------------------------------------------
1.源程序的编译
在Linux下面,如果要编译一个C ......

Linux下 c 判断一个文件是否存在

#include <stdio.h>
#include <unistd.h>
#define FOO "foo"
int main(void)
{
if(!access(FOO, F_OK))
{
if(!unlink(FOO))
{

}
else
{
printf("remove %s failed\n", FOO);
}
}
else
{
printf("%s not existed\ ......

几种出色的C/C++ GUI函数库的介绍

 
QT
http://www.trolltech.com
http://www.qiliang.net/qt.html
Qt是Trolltech公司的一个多平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的很容易扩展,并且允许真正地组件编程。自从1996年早些时候,Qt进入商业领域,它已经成为全世界范 ......

学习Java,C等程序开发的十大诀窍

今天解答一些同学在学开发过程中的普遍问题,就是如何学好一门语言?
我是这样来理解的,要做任何事物,首先要分析为什么要做,只有把核心的,内心的原因找到才能把一件事情做好,否则,你花再多的学费学某种技术仍然会一无所或,从我个人的成长过程来将我是从97年接触计算机,开始学的一踏糊涂,不知道老师在讲什么,不知道学了会有什 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号