##交叉编译(编译就是编译成汇编指令,使得电脑能够识别,比如windows平台模拟linux平台编译出来得程序可以在linux上运行。) * 在一个平台下,编译出另一个平台能够执行的二进制的代码 * 平台:windows,mac os,linux * 处理器:x86,arm,mips ##交叉编译的原理 * 源代码->编译->链接->可执行程序 * 模拟其他平台的特性 ##交叉编译的工具链 * 多个工具的集合,一个工具使用完后接着调用下一个工具 ##常见工具 * NDK:native developement kit:开发jni必备类似于开发安卓需要sdk,就是模拟其他平台特性来编译代码的工具(需要在谷歌下载,) * CDT:C/C++ developement tools:高亮显示c语言关键字(CDT是一个插件,如果eclips是从sdk解压的则这个插件已经安装了,ADT也已经安装了,) * cygwin:一个模拟器,可以再windows下运行linux指令 ##NDK目录结构 * docs:帮助文档 * build/tools:linux的批处理文件 * platforms:编译c代码需要使用的头文件和类库 * prebuilt:预编译使用的二进制可执行文件 * sample:jni的使用例子 * source:ndk的源码 * toolchains:工具链 * ndk-build.cmd:编译打包c代码的一个指令
原文:http://www.cnblogs.com/yaowen/p/4985824.html