小编For*_*tem的帖子

Ubuntu 上的汇编语言

所以我目前正在研究汇编语言,我在终端上遇到了这个很棒的命令,gcc -S filename.cpp,它生成 C++ 源文件的汇编代码。

但是在我安装 NASM 并尝试链接和编译 .S 文件后(我也尝试通过复制粘贴 .s 文件中的代码来使用 .asm),我最终只在终端中遇到了错误。

我确信 C++ 源文件中没有错误,因为它只是一个 hello world 程序,但我知道我遗漏了一些东西,我希望有人可以为我指出。

这是C++源代码:

#include <iostream>

using namespace std;


int main ()
{

    cout<<"wtf";

    return 0;

}
Run Code Online (Sandbox Code Playgroud)

这是 .s 文件代码:

.file   "try1.cpp"
    .text
    .section    .rodata
    .type   _ZStL19piecewise_construct, @object
    .size   _ZStL19piecewise_construct, 1
_ZStL19piecewise_construct:
    .zero   1
    .local  _ZStL8__ioinit
    .comm   _ZStL8__ioinit,1,1
.LC0:
    .string "wtf"
    .text
    .globl  main
    .type   main, @function
main:
.LFB1493:
    .cfi_startproc
    pushq   %rbp
    .cfi_def_cfa_offset 16
    .cfi_offset 6, -16
    movq    %rsp, %rbp
    .cfi_def_cfa_register 6 …
Run Code Online (Sandbox Code Playgroud)

gcc c++ assembler

5
推荐指数
0
解决办法
1364
查看次数

标签 统计

assembler ×1

c++ ×1

gcc ×1