编译和链接

一.翻译环境和运行环境

在ANSIC中,存在两种不同的环境:

1.翻译环境:

将源代码转换为二进制指令

分为编译和链接

.c文件如何生成可执行程序:

多个.c文件单独经过编译器处理生成对应目标文件,多个目标文件和链接库一起经过链接器处理生成最终的可执行程序    (链接库是指运行时库(支持程序运行的基本函数集合)或者对三方库)

编译:预处理(预编译)(1.头文件的包含 2.#define定义符号的替换 3.注释的删除)+编译(词法,语法,语义分析)+汇编(将汇编的代码翻译成二进制指令)

链接:把多个目标文件链接生成一个可执行程序,包括符号的决议和重定义

2.运行环境:

1.载入内存

2.程序执行,接着调用main函数

3.执行程序代码,这时程序将使用函数栈帧,存储函数的局部变量和返回地址,同时使用静态内存,保留变量的值

4.终止程序

你可能感兴趣的:(数据结构,c++)