一.HelloWorld执行流程分析:

运行上述代码时编译器底层做了许多处理,通常只需要关注编写代码和运行代码即可。其余交给编译器。
完整的执行过程:
步骤一:创建文件并编写代码(注意:该文件的后缀名必须是.c,因为是C语言程序)

步骤二:这时并不是直接运行代码,因为计算机不认识C语言,只认识0和1->因此需要编译所写的代码即把操作系统看不懂的代码翻译成0和1,翻译之后会自动生成一个后缀名为obj的文件,obj文件就是0和1的二进制文件,此时操作系统就能认识了

步骤三:此时还不能运行,因为在这个HelloWorld的代码中还需要用到stdio这个文件,此时需要把所有用到的文件组合起来打包成一个新的文件,这个新文件就是后缀名为exe的文件即可执行文件,这才是最终真正能运行的文件->组合的动作也叫连接/链接


步骤四:最终真正运行的是打包之后的后缀名为exe的文件->此时计算机就能运行了

所以针对一个C程序而言,完整的执行过程如上述。
二.实例:
创建一个新的项目,名为HelloWorld2,该项目中的HelloWorld.c文件此时还没有运行,没有运行的话只有C文件,编译之后的obj文件还有exe文件是没有的:

选中项目HelloWorld2的名称->鼠标右键点击该名称->在文件资源管理器中打开文件夹:其实就是打开本地文件夹


最终打开了本地文件夹:

其中只有一个后缀名为c的文件,没有编译之后的obj文件和exe文件。
此时在编译器中运行项目中的HelloWorld.c文件,再打开本地文件夹后,点击x64文件夹,再点击Debug文件夹:


最终在Debug文件夹中找到了编译之后的obj文件:

对于exe文件夹,在外面,退出到最外层的HelloWorld2:


点击下述图片的x64->进入Debug文件夹:


最终找到了exe文件即可执行文件,但此时双击该exe文件是运行不了的,因为在代码中没有写图形化界面的东西:

但如果想要运行该exe文件,可以点击上方的路径:

输入cmd,再回车:


要运行谁,直接写它的名字即可,此时要运行HelloWorld2.exe,输入HelloWorld2.exe(后缀名必须加),再回车即可运行:


301

被折叠的 条评论
为什么被折叠?



