编译器

1.不同语言、不同类型CPU使用的编译器不同
交叉编译器:适用不同CPU架构
2.编译后生成的是.obj的目标文件【本机代码】

链接器

1.将所有必要的目标文件链接起来生成exe文件
2.库文件:由多个目标文件打包而成,链接时指定,可提取所需的目标文件
3.无法解析外部符号:找不到包含目标变量的函数的目标文件而无法完成链接
4.导入库:包含函数位于dll的信息以及dll相关信息
5.静态链接库:直接链接到exe文件
6.构建:编译+链接

EXE文件运行

1.:存放局部变量以及调用函数时传递的参数
2.:程序运行时存放任意数据
3.运行时的空间:操作系统专用空间+变量空间+函数空间+栈空间+堆空间