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- \