C - Linux x86_64 VM GCC 在可执行输出的体系结构中出现错误,exec 文件格式错误



我正在使用GNU/Linux 64位Oracle VM编译一个简单的c程序main.c:int main(){ return 0; }gcc

命令是: gcc-c main.c -o 输出
运行时: ./output,它会导致错误: "无法执行二进制文件:执行格式错误">

为什么 gcc 编译的结果是可执行文件与机器的架构(SYSV 而不是 GNU/Linux(不符?
提前致谢

-c标志告诉gcc生成对象文件。目标文件不是可执行的,而是输入到用于创建可执行文件的链接器。

要么删除-c标志:

gcc main.c -o output

或者构建目标文件,然后链接它:

gcc -c main.c
gcc main.o -o output

有关 GCC 命令行参数的更多信息,请阅读您的 GCC 版本的文档。

相关内容

  • 没有找到相关文章

最新更新