为什么GCC输出一个无法识别的二进制文件

why does gcc output a unrecognized binary file?

本文关键字:识别 二进制文件 一个 输出 GCC 为什么      更新时间:2023-10-16

假设我有一个简单的c++脚本test1.cpp

#include <iostream>
using namespace std;
int main()
{
    cout << "Hola, moondo.n";
    return 1;
}

然后我运行它:

$ g++ test1.cpp -o test.o
$ less test.o
"test.o" may be a binary file.  See it anyway? 

然后出现了无法识别的字符。

^?ELF^B^A^A^@^@^@^@^@^@^@^@^@^B^@>^@^A^@^@^@p^F@^@^@^@^@^@@^@^@^@^@^@^@^@<B8>^W^@^@^@^@^@^@^@^@^@^@@^@8^@^H^@@^@^^^@ESC^@^F^@^@^@^E^@^@^@@^@^@^@^@^@^@^@@^@@^@^@^@^@^@@^@@^@^@^@^@^@<C0>^A^@^@^@^@^@^@<C0>^A^@^@^@^@^@^@^H^@^@^@^@^@^@^@^

看起来很简单,但是我不知道这个过程有什么问题。有人知道发生了什么事吗?

test。O是你实际的可执行文件,你应该运行它,而不是编辑它。

./test.o