在百度做网站多少钱,网站内部资源推广怎么做,怎么建立一个网站存照片视频的链接,天猫网站的建设NDK代码编译的方式有三种#xff0c;分别是基于Make的ndk-build#xff0c;CMake#xff0c;以及独立工具链。它们的区别如下#xff1a;
基于Make的ndk-build是Android NDK r4引入的一个shell脚本#xff0c;它使用Android.mk和Application.mk文件来描述编译参数和配置分别是基于Make的ndk-buildCMake以及独立工具链。它们的区别如下
基于Make的ndk-build是Android NDK r4引入的一个shell脚本它使用Android.mk和Application.mk文件来描述编译参数和配置如指定使用的C标准引用的共享库编译的ABI等。ndk-build会调用NDK自带的编译工具如gccgld等来生成静态库或动态库。ndk-build的优点是简洁高效缺点是不够灵活只能在Android平台上使用。基于CMake的CMake是一种跨平台的编译工具它使用CMakeLists.txt文件来描述编译参数和配置如指定源文件目标库依赖库编译选项等。CMake不会直接编译出对象而是根据不同的平台生成对应的Makefile或project文件然后再调用底层的编译工具如makeninjacl等来生成静态库或动态库。CMake的优点是具有跨平台的特性可以在多种平台上使用缺点是语法比较复杂需要学习一定的规则。独立工具链是一种可以在任何平台上使用的编译工具它使用NDK提供的make-standalone-toolchain.sh脚本来生成一个独立的工具链包括编译器链接器库等。独立工具链可以用来编译任何原生代码不需要使用Android.mk或CMakeLists.txt文件也不需要使用ndk-build或CMake命令只需要使用普通的编译命令如gccgld等来生成静态库或动态库。独立工具链的优点是最灵活可以自定义任何编译参数和配置缺点是最复杂需要手动管理所有的编译细节。