从源文件到可执行文件
编译器1.不同语言、不同类型CPU使用的编译器不同交叉编译器:适用不同CPU架构2.编译后生成的是.obj的目标文件【本机代码】
链接器1.将所有必要的目标文件链接起来生成exe文件2.库文件:由多个目标文件打包而成,链接时指定,可提取所需的目标文件3.无法解析外部符号:找不到包含目标变量的函数的目标文件而无法完成链接4.导入库:包含函数位于dll的信息以及dll相关信息5.静态链接库:直接链接到exe文件6.构建:编译+链接
EXE文件运行1.栈:存放局部变量以及调用函数时传递的参数2.堆:程序运行时存放任意数据3.运行时的空间:操作系统专用空间+变量空间+函数空间+栈空间+堆空间
