linux用gcc生成得so文件和android使用ndk生成得so文件区别在哪,大侠说说原因!谢谢

解决方案 »

  1.   

    稍有不同。因为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- \
      

  2.   

    我在linux下生成的so在手机上用不了,我还想问下就是 我用ndk生成一个是so文件,这个so就是一个socket服务端,但是我调用的so的时候就是起不来
      

  3.   

    LINUX能否调用android下动态库