Android ndk 如何在Android中运行*.o文件
我目前在Linux中用C编译了一组源代码,输出是一个*.o文件,它是一个目标文件。这可能会进行图像压缩。现在我想在Android中使用/测试它 这可能吗?我只尝试过Android NDK开发者端的NDK示例。没有任何关于如何做到这一点的参考资料 提前感谢,,Android ndk 如何在Android中运行*.o文件,android-ndk,Android Ndk,我目前在Linux中用C编译了一组源代码,输出是一个*.o文件,它是一个目标文件。这可能会进行图像压缩。现在我想在Android中使用/测试它 这可能吗?我只尝试过Android NDK开发者端的NDK示例。没有任何关于如何做到这一点的参考资料 提前感谢,, Perumal您不运行对象代码文件*.o。您需要将其转换为可执行文件。为此,假设您使用的是GCC,您将运行GCC file1.o file2.o-o executable,它将一个包含file1.o和file2.o的双文件程序转换为一个名为
Perumal您不运行对象代码文件*.o。您需要将其转换为可执行文件。为此,假设您使用的是GCC,您将运行GCC file1.o file2.o-o executable,它将一个包含file1.o和file2.o的双文件程序转换为一个名为executable的可执行文件。以.o结尾的代码通常不完整。例如,如果您的程序使用某个库在屏幕上打印某些内容,以生成可执行文件,则必须将编译后的代码.o文件与该库链接,以便在操作系统加载时,可执行文件知道将使用的所有代码。您可以使用诸如Linux中的ld或Android中的/system/bin/linker之类的链接器进行链接。在您的情况下,让gcc为您调用链接器更容易,正如Jalfor所指出的那样。答案是肯定的。但是你必须做大量的工作才能看到它在Android上运行 1如果您是在Linux上编译,则表示正在为x86或AMD处理器构建目标文件或最终可执行文件。但大多数移动设备的手机上都有ARM处理器。因此,尽管您有一个可执行文件,但如果它不是为ARM Cpu构建的,您将无法在ANdroid中执行它。这正是安卓NDK所做的 2因此,我们必须为AndroidRM再次构建相同的代码,为此我们需要一个交叉编译器和您正在讨论的目标文件的源代码 3如果你有可用的源代码,你可以再做两件事 要将其包含在JNI文件夹中,请构建共享库,然后执行以下操作: 电话之类的。 将代码构建到一个executableNote中,您需要有main 在代码内部使用android NDK,然后在android内部使用 亚行。
现在您终于可以登录并检查结果了。如果有什么不清楚的,请一定告诉我。我不介意解释。谢谢..嗨,Happy2帮助,谢谢你提供的信息。尝试了解如何使用android工具链进行编译。我以前下载过android源代码,因此在预构建文件夹下有工具链。试图找出如何使用它。在Android NDK中,你可以将工具链归档。我没有现成的BDK。但要搜索其中的文件夹工具链。您将看到arm eabi gcc等可执行文件。。。我不知道确切的名字。但这些是您需要使用的可执行文件。无论gcc在哪里,你都需要把手臂放在eabi gcc上。。希望你明白我想说什么。。。