GCC编译的Hello World C ++的EXEC格式错误

Daebarkee

在AWS Ubuntu Server上,我编写了C ++ Hello,World程序:

#include <iostream>
using namespace std;

int main(){
        cout<<"Hello, World!"<<endl;
        return 0;
}

并编译它:

ubuntu@ip-xxxxx:~/dev/c++$ g++ -c ./test.cc -o out
ubuntu@ip-xxxxx:~/dev/c++$ chmod a+x out
ubuntu@ip-xxxxx:~/dev/c++$ ./out
-bash: ./out: cannot execute binary file: Exec format error
ubuntu@ip-xxxxx:~/dev/c++$ file ./out
./out: ELF 64-bit LSB  relocatable, x86-64, version 1 (SYSV), not stripped
ubuntu@ip-xxxxx:~/dev/c++$ uname -a
Linux ip-xxxxx 3.13.0-48-generic #80-Ubuntu SMP Thu Mar 12 11:16:15 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
ubuntu@ip-xxxxx:~/dev/c++$ gcc --version
gcc (Ubuntu 4.8.4-2ubuntu1~14.04) 4.8.4

架构x86-64似乎彼此相同。这里有什么问题?我是否必须添加更多的C ++标志?

钢铁司机

-c标志告诉g++您将源代码编译为目标代码,但不要将其与必要的库链接以创建独立的可执行二进制文件。来自man gcc

   -c  Compile or assemble the source files, but do not link.  The linking
       stage simply is not done.  The ultimate output is in the form of an
       object file for each source file.

要创建一个可执行程序,简单的再次运行命令没有-c标志:

g++ test.cc -o out

其次是

./out

(默认情况下将设置可执行标志-chmod不需要显式)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C ++ 0x“ Hello Concurrent World”立即在g ++ / linux上出现段错误?

非常基本的Java程序错误(“ Hello world”)

为什么不使用Turbo C ++编译简单的“ Hello World”风格的程序?

Hello World语法错误

转到:Hello World中导入错误

Hello World示例的Node.js错误

我的Win32 C ++“ Hello World程序”无法编译

UEFI hello world编译错误

Crystal C绑定,简单的hello world示例。

为什么在从gcc编译的C“ Hello World”程序调用printf x86程序集之前修改%al寄存器和堆栈

无法编译Hello World

运行dockerized Hello world python示例时执行格式错误

Hello World Rust程序已编译,但是执行导致没有授权错误

MacOS GCC工具链编译简单Hello World的问题

用于DOS的GCC交叉编译器会为简单的“ Hello world!”生成链接器错误。在C

如何编译baremetal hello_world.c并在qemu-system-aarch64上运行?

Hello World无法打印。错误

C ++ Workplace和编译器。Hello World测试初学者

如何为ARM交叉编译Hello World C程序

Java-Hello World错误

Java Hello World Compliation错误

Nasm Hello World Bus错误OS X

Dev-C ++ Hello world不显示

Java中的Hello World投掷错误

在g ++ ubuntu中编译简单的hello world c ++程序时出现多个错误

hello world 上的 PHP 解析错误

在 hello world 应用程序中包含 setupapi.h 时出现编译器错误

在 Visual Studio Code 中编译 Hello World C++ 代码

简单的 Hello World 示例出现分段错误?