易截截图软件、单文件、免安装、纯绿色、仅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语言编程基础(Makefile)

 
Linux下C语言编程基础(Makefile)
2005-01-18 10:28:23 来自:赛迪网
 
假设我们有下面这样的一个程序,源代码如下:
/* main.c */
#include "mytool1.h"
#include "mytool2.h"
int main(int argc,char **argv)
{
mytool1_print("hello");
mytool2_print(&q ......

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

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