解释器和编译器的区别
解释器:输入代码》输出结果
编译器:输入代码》编译成可执行代码》输出结果
(解释器有固有的解释执行开销,而编译后的代码通常可以消除掉这部分开销,留下纯粹用于执行用户代码的逻辑。)
解释器对每一行代码会多一个解释执行的程序,所以对于可重复执行的代码,比如多次调用的函数、循环等,需要不断重复解释。
编译器是首先编译为可执行代码,在单次应用代码的情况下,其运行时间要比解释器长,但正常程序来说要远小于解释器。
动态编译和静态编译的区别:
动态编译是用到哪个模块调用哪个模块。静态编译是把所有的模块都编译之后再调用。比如,使用静态编译:我想看个txt,点击应用程序图标以后三个功能都加载进来了,判断格式,使用读txt模块。。。(在这里,另外两个模块的作用就是占用系统资源。。。。-。-)
使用动态编译:我想看个txt,点击应用程序,判断格式,只加载读txt模块,使用读txt模块。。。
显然,动态编译1速度快,2节省了系统资源,3利于今后拓展。。。。。。。。不如的地方,用静态链接库编译,相当于你带着一个工具包到处跑(遇到有需要的地方不需要周围的环境提供相应的工具,自己用自己工具包的工具就行了,所以当环境发生变化可以尽可能的无视)。

浙公网安备 33010602011771号