我试图在AArch64(具有小尾数字节顺序配置的Raspberry Pi 3 Model B)上使用-mbig-endian
gcc选项,目的是按大尾数字节顺序读取和写入内存。我收到以下错误,编译终止。
/usr/include/gnu/stubs.h:11:11: fatal error: gnu/stubs-lp64_be.h: No such file or directory `#include <gnu/stubs-lp64_be.h>`
我实际上去了那个文件夹,但是找不到那个文件。我想念什么吗?
gcc在线文档说-mbig-endian
选项生成big-endian代码。到底是什么意思?
答案 0 :(得分:0)
您什么都没有丢失,但是似乎ARM提供的gcc工具链甚至都不允许将-mbig-endian
与aarch64-linux-gnu-gcc一起使用,也不允许-mlittle-endian
与aarch64_be-linux-gnu-gcc一起使用:两种情况下,都将丢失与“异形”性有关的.h文件。
这可能意味着您应该只使用aarch64_be-linux-gnu-gcc交叉编译big-endian aarch64 Linux可执行文件。但是您仍然不能在低端aarch64 Linux系统上运行这些可执行文件。