Android中m、mm、mmm、mma、mmma的区别

m:编译整个安卓系统

     makes from the top of the tree

mm:编译当前目录下的模块,当前目录下需要有Android.mk这个makefile文件,否则就往上找最近的Android.mk文件。

         builds all of the moudles in the current directory

         mma:当前目录新增或删除文件后,可以用mma重新编译。

mmm:编译指定路径下的模块,指定的路径下面需要有Android.mk这个makefile文件

             builds all of the moudles in the supplies directory

            mmma:指定目录下新增或删除文件后,可以用mmma重新编译。

            mmm命令 的编译过程:

            build/core/main.mk(是Android编译系统的入口文件)

           ->build/core/config.mk(会定好编译类型和目标文件)

                                                      ->build/core/definitions.mk(定义在编译过程中用到的宏)

                                                      ->ONE_SHOT_MAKEFILE->build/core/package.mk(编译Apk库文件)

                                                                                                 ->build/core/java_library.mk(编译Java库文件)

                                                                                                 ->build/core/static_java_library.mk(编译Java静态库文件)

                                                                                                 ->build/core/shared_library.mk->build/core/dynamic_library.mk->build/core/binary.mk->build/core/base_rules.mk

                                                                                                                                                                                         ( 计算一些基本变量的值,并创建一些基本的依赖规则)

                                                                                                                                                  ->build/core/static_library.mk(编译.a静态库文件)

                                                                                                                                                  ->build/core/executable.mk(编译可执行文件)

                                                                                                                                                  ->build/core/prebuilt.mk(编译已经预编译好的第三方库文件)

                                                                                                 ->build/core/Makfile(有system.img、boot.img、recovery.img等镜像文件生成规则)

             环境变量ONE_SHOT_MAKEFILE中存放要编译模块的Android.mk的文件路径,如果环境变量值为空,表示执行的是m或者make命令,会对Android源代码中的所有模块进行编译。


mm、mmm是类似的,都是用来编译某些模块。

使用这些编译命令,首先需要在Android根目录下配置环境

#source  build/envsetup.sh         要确保当前根目录下有envsetup.sh脚本文件
#choose...                         对环境的选择
#cd (要编译模块所在的目录)
#mm(mma、mmm、mmma) -B -j2  2>&1    开始编译模块
注:-B表示编译模块的所有文件,-j2表示编译的时候开启两个线程,2>&1表示将错误切换到输出(输入为0,输出为1,错误为2)。  
   envsetup.sh脚本文件里包含vendorsetup.sh 、lunch、 m mm mmm的定义





  • 5
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MMA是一款兼具数学建模和数据分析功能的Matlab程序。它为用户提供了强大的数学处理和数据可视化能力,使得用户可以高效地处理并分析复杂的数据集。 MMA的核心功能包括数学建模、优化、图像处理和数据分析。它可以支持多种数学建模任务,包括随机过程分析、数值分析、算法实现、偏微分方程数值处理等。而在数据分析方面,MMA可以进行数据可视化、统计分析、机器学习和模式识别等,以帮助用户更好地理解数据和发现规律。 由于MMA使用了Matlab作为其底层运行平台,因此用户在使用MMA时可充分利用Matlab的其他功能,如符号计算、函数绘图、GUI编程等。此外,MMA还可以与Matlab内置的其他工具箱进行无缝结合,以支持更加复杂和高效的数学计算和数据分析。 总的来说,MMA是一款非常适用于数学建模和数据分析的Matlab程序。它的强大功能和灵活性可以帮助各类型用户快速分析和处理数据集,从而更好地理解其内在规律,并为进一步的应用提供基础支持。 ### 回答2: MMA与Matlab程序是科学计算领域常用的两种工具,二者均有优缺点。MMA是一款由Wolfram出品的商业软件,主要应用于数学和物理计算,其最大的优点是支持符号计算,可解决大量复杂的数学问题。而Matlab则是一款基于矩阵计算和数值分析的编程工具,其最大的优点是可处理大量的科学数据,并且支持多种算法和处理方法。 在使用MMA和Matlab时,需要根据实际需求选择合适的程序进行编写和运行。例如,在处理数学公式时,MMA可提供更为精确的计算结果;而在处理海量数据和编写算法时,Matlab是更好的选择。 同时,MMA还提供了可视化的界面,可让用户在编辑程序时直观地观察变量和函数的变化情况,这对初学者尤为友好;而Matlab则需要用户自己编写代码,并且更加注重算法的优化和速度的提升。 综上所述,二者应用范围存在差异,选取合适的工具需要根据实际问题考虑。而在实际使用,可通过MMA和Matlab等工具之间的接口来实现代码的相互调用和共享,提高计算效率和便捷性。 ### 回答3: MMA是一种数学软件,而Matlab是一种计算机语言和交互式环境。MMA的程序主要是用于数学研究和理论探索的,而Matlab的程序则适用于科学计算和数据分析。对于数学教育和研究人员来说,MMA提供了强大的符号处理和图形化表示功能,可以更好地理解、探索数学问题和理论。而Matlab则在科学计算和数据分析领域应用广泛,能够进行复杂计算和统计分析,支持面向对象的编程和图形化展示。Matlab还有丰富的工具箱,可以进行各种应用,如信号处理、图像处理和机器学习等。总的来说,MMA和Matlab都有各自的特点和应用,可以根据不同的需求进行选择和使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值