1

我不知道为什么,但是(Android ADB)shell 说no such file or directory当我在arm-linux-gnueabi-gcc 没有选项的情况下编译时-static,然后尝试执行本机可执行文件。这是no such file or directory当 shell 知道文件存在于该路径,但不想授予用户知道文件存在的权限时得到的。(例如,您可以检查chmod 4755哪个不返回错误消息)。

如果我使用-static选项进行编译,则程序将正常执行。

为什么在没有static选项的情况下编译会发生这种情况?

4

1 回答 1

1

如果您静态链接程序所需的所有内容,则将内置。您的设备上的库没有依赖关系,因此它将完美运行。糟糕的是这种编程风格的规模(巨大)!

如果您省略 -static,您的编译器会假定为动态链接,但如果没有一些魔法,您将链接到 (Linux)-glibc:崩溃!请在网上搜索“native C on Android”教程。他们解释了你需要链接到 Android 的所有(可怕的)链接器东西)-glibc 又名“仿生”。

祝你好运,来源可能与你同在,马丁

于 2013-02-14T00:51:39.363 回答