编程、编译、链接
编程
编译
链接
工具微软链接器 LINK.EXE
结果可执行文件 .exe
源程序和程序的区别?
源程序-n源文件的所有内容。既包括能够被计算机执行的指令,也有被编译器执行的指令(伪指令)。
程序-n只包括最终被计算机执行的指令。
我的想法源代码中所有代码并不是所有的指令都会被计算机执行。有些指令只是为了给编译器执行。
可执行文件是如何运行的?
shell-n操作系统暴露给用户或者应用程序的应用程序,和其他应用程序一样,操作系统提供API供用户、应用程序操作计算机。
CLI-shell-n基于command-line interface的shell,就是windows中的cmd.exe。
GUI-shell-n基于graphical user interface的shell,就是我们常使用的Windows的图形界面。
可执行文件必须在操作系统提供的shell环境中执行。当shell中输入执行可执行文件,shell就会将文件载入内存,然后设置CS:IP指针。CPU运行程序,程序运行结束后,转交CPU控制权给shell。