什么是编译后执行
① 简要说明程序“编译执行”与“解释执行”的区别。
编译执行 是把源程序编译成 目标码后 再执行目标码。例如,c语言程序,必须给出完整程序,编译器,通过几次扫描,翻译,编排,链接,变成 exe 文件 执行。编译执行,程序执行时间短,效率高。
解释执行,并不把整个程序 变成目标码,而是按顺序,读一句,解释一句,执行一句,所以,没给完整程序,它就可以执行了。例如,浏览器处理网页,网页程序,每下来一句,就可以解释执行一句,不用等整个网页下来后再处理。
② 编译后的程序比边解释边执行的程序的运行速度快吗为什么
程序的编译是指将人可以理解的代码(如C的源代码)段编译成机器指令码(二级制指令),也就是处理堆栈、处理器、总线的指令,交由计算机自动执行。解释型语言是在需要执行时临时编译运行,执行时多了编译的过程,自然就要慢的多了。
比较特殊的是java,javac命令编译的结果虽然也是二进制文件,但实际也不是机器指令,而是优化后的代码,最后的执行是通过java虚拟机再次编译后执行。所以效率介于编译型和解释型之间。
目前java的执行速度已经有了大幅度的提升,但要想赶上或超越C 或者汇编,理论上是不现实的。
③ 初学c语言时,输入程序后运行,是执行还是预编译预编译是什么为什么最开始要有#include如
预编译是把一个工程中较稳定的代码预先编译好放在一个文件里.这些预先编译好的代码可以是任何的C/C++代码。而输入程序后的运行,只是将代码编译成了obj(object)文件,所有obj文件经链接(link)成为可执行文件。而你说的执行,应该就是点击最后生成的.exe文件了。开始要有的#include,是表明要包含的头文件,或者其它的保存的代码文件。只有这样,你才可以引用到那个文件中的代码,来供目前的文件来使用。
至于你说的什么大型游戏的编程,应该也是这样的一套,因为C语言就是上述生成文件的套路。游戏的编程,初学的话可以建议看《游戏编程入门》( 美 哈本),这本书基于windows平台,是为几乎没有游戏开发经验的初学者写的,循序渐进,从2D讲到3D 的一些基本技术,其中的例子也非常经典,看完书基本就可以做出不错的2D 游戏了,也有了一定的3D基础了,之后再看一些深入的书籍像《Windows游戏编程大师技巧》。
④ C++中什么是编译时,什么是运行时,二者有何区别
编译阶段主要进行语法的检查,无误。将程序代码转换成目标代码(二进制表示,打开看不懂),没有和操作系统进行连接,不能运行。完成连接后,程序能够进入系统运行。
运行时,一定是编译过的,没有语法错误。编译时,没有生成目标文件,可能有语法错误。