我目前在Linux中用C编译了一组源代码,输出是一个* .o文件,它是一个目标文件。这应该是图像压缩。现在我想在Android中使用/测试它。
这可能吗?我只尝试过Android NDK开发者方面的NDK示例。没有找到关于如何做到这一点的任何参考。
先谢谢, 秘鲁
答案 0 :(得分:0)
您不运行目标代码文件(* .o)。您需要将其变为可执行文件。为此,假设您正在使用GCC,您将运行gcc file1.o file2.o -o executable
,它将使用file1.o和file2.o将两个文件程序转换为名为executable的可执行文件。
答案 1 :(得分:0)
Object files(以.o结尾)通常包含不完整的代码。例如,如果您的程序使用某个库在屏幕上打印某些内容,以生成可执行文件,则必须将已编译的代码(.o文件)与库链接,以便在操作系统加载可执行文件时知道所有代码。将会被使用。您使用linker(例如Linux中的ld或Android中的/ system / bin / linker)进行链接。在你的情况下,让jcc更容易让你为你调用链接器,正如Jalfor所说。
答案 2 :(得分:0)
答案是肯定的。但是你必须做一些相当多的工作才能看到它在Android上运行。
1)如果您在Linux上进行编译,则意味着正在为x86或AMD处理器构建目标文件或最终可执行文件(主要是)。但大多数移动设备都在其手机上运行ARM处理器。所以,虽然你有一个可执行文件,如果它不是为ARM Cpu构建的,你将无法在ANdroid中执行它。这就是android NDK所做的。
2)因此,我们必须为Android(ARM)再次构建相同的代码,我们需要交叉编译器和您正在讨论的目标文件的源代码。
3)如果你有源代码可用,你可以再做两件事。
现在终于可以登录然后检查结果。如果有任何不清楚的地方,请告诉我。我不介意解释。感谢..