文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>c程序的生成要经历...

c程序的生成要经历...

时间:2010-08-07  来源:passball

一个C程序的生成要经历以下步骤:
1.编写文本代码,生成C或cpp文件,这时候它还是文本的;
2.编译,就是compile,由C编译程序对你写的代码进行词法和句法分析,发现并报告错误,有错时编译不能通过。如若无错,则生成中间代码,扩展名为obj,此时它便是二进制的了;
3.连接,在汇编里称link,在C里叫生成,即build,它的作用是生成可执行的exe文件。由于一个程序的源码可由多个文件组成。这些文件在第二步中分别编译,生成各自的目标文件(*.obj),这一步的作用便是将这些obj文件,以及程序中需要的其它库文件(dll除开),统一到一个文件中来,形成单个的exe文件。此exe文件便可以在操作系统下直接运行了。
上述第二步做完中间代码生成的工作后还有个代码优化,这里就不详讲了。
compile、build分别对应编译和连接这两个过程。execute的意思是执行,即生成了exe文件后运行它。如果你的程序有修改,点这一项它会弹出窗口问你是否重新编译和连接,也就是它可以自动把前面的工作都做了。也就是说,VC菜单里的execute功能如下:
1.程序有修改时,或者没有做前面的编译连接工作时
execute=compile+build+执行;
2.程序编译连接好后
execute仅仅是执行,不再做前面两项工作。
当程序有修改时,选择execute只重编译和连接有改动的内容,但这样做有时候会出错,这时可选择build菜单下的rebuild   all,重新编译、连接所有文件。
总之,C程序的生成可图示如下:
编写源代码-> 编译(compile)-> 连接,也叫生成(build)-> 运行(execute)
对应的各个阶段处理的文件的扩展名为:
c或cpp-> obj-> exe。
C程序是编译执行的,还有一种程序是解释执行的,如java,它的源文件经过编译后形成扩展名为class的中间代码,之后不做连接生成exe文件,而是直接将这种.class的中间代码拿到java虚拟机平台上,由解释器解释执行。这种方式效率较低,但较灵活。

还有,那个go是在调试器中调试用的,它的大体作用跟execute差不多,也能自动做编译、连接、执行三项工作,但它会在程序中产生断点,由程序员调试和检查程序,在汇编中这叫一个单步中断。其实它就是调试器中用的execute。

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载