Bootstrap

C语言程序环境和预处理详解

本章重点:

程序的翻译环境

程序的执行环境

详解:C语言程序的编译+链接

预定义符号介绍

预处理指令 #define

宏和函数的对比

预处理操作符#和##的介绍

命令定义

预处理指令 #include

预处理指令 #undef

条件编译

 程序的翻译环境和执行环境

在ANSI C的任何一种实现中,存在两个不同的环境。

第1种是翻译环境,在这个环境中源代码被转换为可执行的机器指令。 第2种是执行环境,它用于实际执行代 码。

详解编译+链接 翻译环境

翻译环境 

编译本身也分为几个阶段:

看代码: sum.c:

#define _CRT_SECURE_NO_WARNINGS
int g_val = 2016;
void print(const char* str)
{
	printf("%s\n", str);
}

test.c 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
	extern void print(char* str);
	extern int g_val;
	printf("%d\n", g_val);
	print("hello bit.\n");
	return 0;
}

预处理详解

预定义符号 

 

 

 

 

 

 

 

 

 

;