GNU Assembly中的“ _main”和“ main”有什么区别?

问题描述

我刚刚开始自己​​学习汇编
我的第一步是编写一个返回“ 10”的汇编代码,并使用$echo $?

进行检查。
.global _main

_main:
        pushq %rbp
        movq %rsp,%rbp
        movl $10,%eax
        leave
        ret

这是我的第一个名为“ ass.s”的代码
以及以某种方式使用gcc ass.s 进行编译时
不断返回错误,后跟
/ usr / lib / gcc / x86_64-linux-gnu / 5 /../../../ x86_64-linux-gnu / crt1.o:在函数_start': (.text+0x20): undefined reference to main'

我将代码固定为

.global main

main:
        pushq %rbp
        movq %rsp,%eax
        leave
        ret

效果很好。

这两个代码间的唯一区别是_mainmain
谁能解释为什么_main发生错误

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)