##交叉编译(编译就是编译成汇编指令,使得电脑能够识别,比如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代码的一个指令