hello: ELF 32-bit LSB executable, ARM, EABI5 version 1 (GNU/Linux), statically linked, BuildID[sha1]=831541175303b32310869a70eed4f9f35a9f8d69, for GNU/Linux 3.2.0, not stripped
时间: 2024-03-21 16:42:53 浏览: 213
根据您提供的信息,生成的可执行文件是一个静态链接的可执行文件,它应该可以在ARM9平台上执行。
静态链接的可执行文件包含所有必要的库和依赖项,不需要在运行时动态加载。这使得它们在不同的系统上都可以运行,而不需要安装和配置相应的库。但是,由于它们包含所有必要的库和依赖项,静态链接的可执行文件通常比动态链接的可执行文件更大。
您可以将生成的可执行文件传输到ARM9平台,并在终端中执行以下命令,以确保它可以在ARM9平台上执行:
```
./hello
```
如果一切正常,您应该可以在终端上看到“Hello, world!”字符串。
相关问题
<pre>ledtest: ELF 32-bit LSB executable, ARM, EABI5 version 1 (GNU/Linux), statically linked, BuildID[sha1]=bf3aa11bcc0a4050d7f81863d746b8e8652879f5, for GNU/Linux 3.2.0, not stripped </pre>
根据你提供的信息,重新编译后生成的ledtest文件是静态链接的可执行文件,可以在目标平台上执行。可以看到,文件类型是ELF 32位LSB可执行文件,静态链接,适用于GNU/Linux操作系统版本3.2.0。
该文件未被剥离,意味着二进制文件中包含符号表和调试信息,这对调试非常有用。如果你需要发布该文件,可以使用strip命令剥离文件,以减小文件大小。命令如下:
```
arm-linux-gnueabihf-strip ledtest
```
这样就可以生成剥离符号表和调试信息的ledtest文件。
./mqtt_client: ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.3, for GNU/Linux 2.6.16, not stripped
根据你提供的信息,可以看出该mqtt_client程序是一个32位的ARM架构可执行文件,需要在支持该架构的Linux系统上运行。如果你尝试在不支持该架构的Linux系统上运行该程序,就会出现上述的"cannot execute binary file"错误。
因此,你需要在一个支持ARM架构的Linux系统上运行该程序。如果你的当前系统不支持ARM架构,可以考虑在虚拟机或者容器中运行一个支持ARM架构的Linux系统,然后在其中运行mqtt_client程序。注意,如果你在虚拟机或者容器中运行程序,需要确保虚拟机或者容器的操作系统支持ARM架构。
另外,如果你需要在当前系统上运行mqtt_client程序,也可以考虑重新编译该程序,以生成适用于当前系统架构的二进制文件。
阅读全文