解释器和编译器的区别

解释器:输入代码》输出结果

编译器:输入代码》编译成可执行代码》输出结果

解释器有固有的解释执行开销,而编译后的代码通常可以消除掉这部分开销,留下纯粹用于执行用户代码的逻辑。

解释器对每一行代码会多一个解释执行的程序,所以对于可重复执行的代码,比如多次调用的函数、循环等,需要不断重复解释。

编译器是首先编译为可执行代码,在单次应用代码的情况下,其运行时间要比解释器长,但正常程序来说要远小于解释器。

动态编译和静态编译的区别:

动态编译是用到哪个模块调用哪个模块。静态编译是把所有的模块都编译之后再调用。比如,使用静态编译:我想看个txt,点击应用程序图标以后三个功能都加载进来了,判断格式,使用读txt模块。。。(在这里,另外两个模块的作用就是占用系统资源。。。。--
使用动态编译:我想看个txt,点击应用程序,判断格式,只加载读txt模块,使用读txt模块。。。
显然,动态编译1速度快,2节省了系统资源,3利于今后拓展。。。。。。。。不如的地方,用静态链接库编译,相当于你带着一个工具包到处跑(遇到有需要的地方不需要周围的环境提供相应的工具,自己用自己工具包的工具就行了,所以当环境发生变化可以尽可能的无视)

posted @ 2019-07-04 08:27  Mana66ccff  阅读(576)  评论(0)    收藏  举报