目录
1.程序的翻译环境
2. 程序的执行环境
3. 详解:C语言程序的编译+链接
4. 预处理指令 #define
5. 宏和函数的对比
6. 预处理操作符#和##的介绍
7. 命令定义
8. 预处理指令 #include
9. 预处理指令 #undef
10. 条件编译
程序的翻译环境和执行环境
翻译环境:在这个环境中源代码被转换为可执行的机器指令。
执行环境:它用于实际执行代码。
test.c:
#include<stdio.h>
extern int Add(int x, int y);
int main()
{
int a = 10;
int b = 20;
int ret = Add(a, b);
printf("%d\n", ret);
return 0;
}
add.c:
int Add(int x, int y)
{
return x + y;
}
预处理详解
预定义符号
_ FILE_ //进行编译的源文件
_ LINE_ //文件当前的行号
_ DATE_ //文件被编译的日期
_ TIME_ //文件被编译的时间
_ STDC_ //如果编译器遵循ANSI C,其值为1,否则未定义
#define
语法:
#define name stuff
#define MAX 1000
#define reg register //为 register这个关键字,创建一个简短的名字
#define do_forever for(;;) //用更形象的符号来替换一种实现
#define CASE break;case //在写case语句的时候自动把 break写上。
// 如果定义的 stuff过长,可以分成几行写,除了最后一行外,每行的后面都加一个反斜杠(续行符)。
#define DEBUG_PRINT printf("file:%s\tline:%d\t \
date:%s\ttime:%s\n" ,\
__FILE__,__LINE__ , \
__D