㈠ 程序的编译执行和解释执行有何区别
程序的编译执行和解释执行的主要区别在于,编译执行需要将源代码整体转换成机器代码后执行,而解释执行则是逐行读取源代码并转换成机器代码执行。
编译执行和解释执行是两种不同的程序执行方式,它们的主要区别在于如何将源代码转化为可以由计算机执行的机器代码。
编译执行的过程通常包括两个阶段:编译阶段和执行阶段。在编译阶段,编译器会将源代码整体转换成机器代码,生成一个可执行文件。这个过程中,编译器会对源代码进行词法分析、语法分析、语义分析等,检查源代码的正确性,并对其进行优化。一旦编译成功,就会生成一个与源代码相对应的可执行文件。在执行阶段,计算机直接运行这个可执行文件,无需再对源代码进行任何转换。C语言和C++语言就是典型的编译型语言。例如,当我们编写一个C程序后,需要使用C编译器(如gcc)将其编译成可执行文件,然后才能运行这个程序。
解释执行的过程则不同,它不需要事先将源代码转换成机器代码。解释器会逐行读取源代码,将其转换成机器代码并执行。这个过程是边解释边执行的,因此称为解释执行。解释执行的好处是可以随时修改源代码并立即看到效果,因为每次执行程序时都会重新解释源代码。但是,解释执行的速度通常比编译执行慢,因为每次执行都需要进行代码转换。Python和Ruby就是典型的解释型语言。例如,我们可以直接运行一个Python脚本,而无需事先将其转换成机器代码。Python解释器会在执行过程中逐行解释并执行这个脚本。
总的来说,编译执行和解释执行各有优缺点。编译执行的程序运行速度快,但修改源代码后需要重新编译;解释执行的程序可以随时修改并立即看到效果,但运行速度相对较慢。在实际应用中,我们需要根据具体需求和场景选择合适的执行方式。
㈡ [C语言] 运行C程序的步骤
(1)上机输入和编辑源程序。通过键盘向计算机输入程序,如发现有错误,要及时改正。最后将此源程序以文件形式存放在自己指定的文件夹内(如果不特别指定,一般存放在用户当前目录下),文件用.c作为后缀,生成源程序文件,如f.c。
(2)对源程序进行编译,先用C编译系统提供的“预处理器”(又称“预处理程序”或“预编译器”)对程序中的预处理指令进行编译预处理。例如,对于#include<stdio.h>指令来说,就是将stdio.h头文件的内容读进来,取代#include<stdio.h>行。由预处理得到的信息与程序其他部分一起组成一个完整的、可以用来进行正式编译的源程序,然后由编译系统对该源程序进行编译。
编译的作用首先是对源程序进行检查,判定它有无语法方面的错误,如有,则发出“出错信息”,告诉编程人员认真检查改正。修改程序后重新进行编译,如果还有错,再发出“出错信息”。如此反复进行,直到没有语法错误为止。这时,编译程序自动把源程序转换为二进制形式的目标程序(在Visual C++中后缀为.obj,如f.obj)。如果不特别指定,此目标程序一般也存放在用户当前目录下,此时源文件没有消失。
在用编译系统对源程序进行编译时,自动包括了预编译和正式编译两个阶段,一气呵成。用户不必分别发出二次指令。
(3)进行连接处理。经过编译所得到的二进制目标文件(后缀为.obj)还不能供计算机直接执行。前面已说明:一个程序可能包含若干个源程序文件,而编译是以源程序文件为对象的,一次编译只能得到与一个源程序文件相对应的目标文件(也称目标模块),它只是整个程序的一部分。必须把所有的编译后得到的目标模块连接装配起来,再与函数库相连接成一个整体,生成一个可供计算机执行的目标程序,称为可执行程序(executive program),在Visual C++中其后缀为.exe,如f.exe。
即使一个程序只包含一个源程序文件,编译后得到的目标程序也不能直接运行,也要经过连接阶段,因为要与函数库进行连接,才能生成可执行程序。
以上连接的工作是由一个称为“连接编辑程序”(linkage editor)的软件来实现的。
(4)运行可执行程序,得到运行结果。
以上过程如图1.2所示。其中实线表示操作流程,虚线表示文件的输入输出。例如,编辑后得到一个源程序文件f.c,然后在进行编译时再将源程序文件f.c输入,经过编译源程序,找出问题,修改源程序,并重新编译,直到无错为止。有时编译过程未发现错误,能生成可执行程序,但是运行的结果不正确。一般情况下,这不是语法方面的错误,而可能是程序逻辑方面的错误,例如计算公式不正确、赋值不正确等,应当返回检查源程序,并改正错误。
为了编译、连接和运行C程序,必须要有相应的编译系统。目前使用的很多C编译系统都是集成开发环境(IDE)的,把程序的编辑、编译、连接和运行等操作全部集中在一个界面上进行,功能丰富,使用方便,直观易用。
㈢ 为什么用keil修改了c语言程序后,再用proteus仿真运行的时候,运行的还是修改之前的文件啊
我认为是hex 文件没有改变。用keil修改后,要编译运行一次,并且要注意是否重新生成 hex 文件(最好去设置里面重新勾选一下,再编译运行改之后的程序)。
㈣ 是写好C语言程序后,编译通过,点执行的时候出现: this file does not exist.Do you want to build it
我记得这个好像是VC++还是CodeBlocks会有……
C语言代码写好后,编译器要把代码编译生成可执行的.exe文件,如果你之前没有编译过这个c文件,或者你改了代码之后再编译,就会提示你,是不是要重现生成。
但有的编译器是默认是重新生成的,比如VS,如果你改了代码,它就会自动重新生成,否则就用之前的.exe。
点确认就好。
代码修改后,最好手动保存,编译器不自动重新生成的话就手动重新生成,不然你发现代码错了,改了后重新运行,发现还是错的,半天找不出错,其实可能是因为没有重新生成,运行的还是之前那个.exe文件,也就是用错误代码生成的。
㈤ C语言中一个程序写完后怎么运行啊
当编写完一个程序后,需要首先进行编译,然后再运行。
如下图所示,程序编写完毕后,点击工具栏中的Execute,选择compile(编译)。
如果没有错误,再选择Execute,选择run(运行)。
(5)c程序修改后需不需要重新编译扩展阅读:
dll因为某些原因(最大的可能是因为它是个病毒或流氓软件的dll文件,被杀软删除了)丢失了,但其相关的注册信息却还在,导致系统开机时还加载它,却又找不到它的文件,所以报错。
如果你点击“确定”后,系统没有什么不正常,并且可以正常运行的话,你可以用这个软件清理掉这个开机加载项,以后开机穗运就不会出现这个信息了。
下载和枣睁安装编译器凳族岁。C语言需要通过编译器解释为计算机可以理解的机器码。 编译器通常是免费的, 不同的操作系统上一般使用不同的编译器。
对于Windows系统, 可以尝试 Microsoft Visual Studio Express,其是Windows平台上最流行的多语言IDE(集成开发环境),其集成了Microsoft开发的C语言编译器。对于OS X系统, Xcode是一款优秀的多语言IDE,其集成了C语言的编译器。对于Linux, gcc是一个不错的也是最流行的选择。