当前位置: 代码迷 >> Android >> linux生成so跟ndk生成so区别
  详细解决方案

linux生成so跟ndk生成so区别

热度:35   发布时间:2016-05-01 10:51:12.0
linux生成so和ndk生成so区别
linux用gcc生成得so文件和android使用ndk生成得so文件区别在哪,大侠说说原因!谢谢

------解决方案--------------------
稍有不同。因为target不同。android的 处理器基本是arm的。arm的处理器指令怎么会和pc上的处理器的指令一样呢?所以要在android上用so文件必须要用能识别arm指令的编译器arm-linux-androideabi-gcc(各个版本不同)。编译好的共享库(so文件)说白了就是一些二进制的指令集。
android的so文件编译时,makefile中

--target-os=linux \
--arch=armv7a \
--enable-shared \
--enable-cross-compile \
--cc=$PREBUILT/bin/arm-linux-androideabi-gcc-4.4.3 \
--cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \