⑴ Android系统编译指令make 、mmm、mm优缺点比较
Android 系统提供了三种指令用于编译,他们分别为make、mmm、mm,这三个指令编译的优缺点如下:
例如:make MediaProvider z这种模式对应于单个模块的编译。它的优点是:会把该模块依赖的其他模块一起跟着编译。例如:make libmedia 就会把libmedia依赖库全部编译好。当然缺点也会很明显,那就是它会搜索整个源码来定位MediaProvider 模块所使用的Android.mk文件。并且还要判断该模块依赖的其他模块是否有修改。所以编译时间比较长。
注意:一般的编译方式都会采用增量编译,即只编译发生变化的目标文件,但有时则需要重新编译所有目标文件,那么就可以使用make 命令行的-B选项。例如:mm -B 模块名,或者mm -B、mmm -B。在mm 和 mmm内部也是调用make命令的,而make的-B选项将强制编译所有的目标文件。
⑵ 解释执行的语言相比编译执行的语言有什么优缺点
我自己理解的解释执行的优点,不依赖于平台,因为每次都会根据不同的平台对语句进行解析,像JS就凳咐是一种边解释边执行的语言,不管是在windows还是unix都可以直接用解释执行的缺点,解析是需要时间的,每次都解析在很多情况下都是相当于每次都在做重复功,这样运行的明唯效率比较低。尽可能的减少重复功,这也是现在为什么很流行的缓存的原因,但是解析执行这种方式就没无法做到了编译执行的优点,所谓的编译执行就是先对编程进行编译,生成一个obj文件,然后再拿来运行,它的优点恰巧就是解释执行的缺点的反义,去除了每次都解激粗培析的问题编译执行的缺点,也是恰巧是解释执行优点的反义。就像C语言,你在windows下编译的程序,拿到unix下运行,当然如果只是简单的scanf,printf是可以的,但是像指针,内存分配,文件操作,多线程等,在一些相对复杂的系统问题就严重了。 更可怕的是拿源码到unix环境下编译通过了,但是运行却出问题,这种问题最要人命。 所以一般的做法都是这个程序会用在什么系统,就到什么系统环境去开发
⑶ 解释性语言和编译性语言各有什么优缺点
最简单的区别就是,
解释性语言是边解释,边执行,它依赖于一个解释器。执行速度比较慢
编译性语言,是编译成,计算机可执行的二进制代码,直接运行,执行速度比较快,
⑷ 什么是编译,什么是解释,两者有什么优点和缺点
编译就是全部编译完执行,解释就是读一句执行一句
⑸ 编程语言C++的模板元编程技术有什么优点和缺点 在游戏编程中用的多么
优点在于增强代码重用,把运算转移到编译过程提高运行速度。缺点是错误控制难度比较大,模板一旦出错想确定错误位置甚至错误原因有时候都是比较复杂的。另外一个就是模板容易搞出很复杂的类名或者函数名来,不过这个一般是可以想办法避免的。
模板主要用于库开发,上层开发一般还是不会用的。也就是说游戏可能只有核心部分会用到模板。
⑹ 在使用单片机中,汇编语言和c语言各有什么优缺点
一、汇编语言:
缺点:汇编语言属于低级语言,难理解,编程效率低,编程容易出错。
优点:程序执行效率高,占用资源少, 方便对最底层的一些东西进行操作。
二、C语言:
缺点:危险性高,开发周期长,可移植性不如JAVA。
优点:语句少但是灵活度高,针对过程的言语相比于非结构化言语条理性很好接近人类的逻辑思维,相比于模块化言语和面向对象的言语他又比较接近底层的一些东西,而且效率也高(只比汇编低%10~20)移植性也好。
(6)编译的优点和缺点扩展阅读:
不难看出机器语言作为一种编程语言, 灵活性较差可阅读性也很差,为了减轻机器语言带给软件工程师的不适应,人们对机器语言进行了升级和改进:用一些容易理解和记忆的字母,单词来代替一个特定的指令。
通过这种方法,人们很容易去阅读 已经完成的程序或者理解程序正在执行的功能,对现有程序的bug修复以及运营维护都变得更加简单方便,这种语言就是我们所说的汇编语言, 即第二代计算机语言。
⑺ 编译执行的优缺点
兼容性差,例如在windows平台上写的编译程序一般不可以在unix平台上运行。当然,如果只是简单的scanf,printf是可以的,但是像指针,内存分配,文件操作,多线程等,在一些相对复杂的系统问题就严重了。 更可怕的是拿源码到unix环境下编译通过了,但是运行却出问题,这种问题最要人命。 所以一般的做法都是这个程序会用在什么系统,就到什么系统环境去开发