繁体   English   中英

linux x86_64 vm gcc可执行输出的体系结构中的错误,exec文件格式错误

[英]linux x86_64 vm gcc error in architecture of executable output, exec file format error

我正在使用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版本的文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM