我一直在尝试理解由GCC生成的汇编语言代码,并经常在包括_start()在内的许多函数启动时遇到此指令,但找不到任何说明其用途的指南。
31-0000000000001040 <_start>:
32: 1040: f3 0f 1e fa endbr64
33- 1044: 31 ed xor ebp,ebp
Run Code Online (Sandbox Code Playgroud) 如何以编程方式或使用 *nix 系统中已有的工具来找到 DRAM 行缓冲区大小?
我制作了一个简单的 C 程序,其中的 main 为空,如下所示,并用 gcc 编译它
void main(){
}
Run Code Online (Sandbox Code Playgroud)
执行时,它返回退出代码为25
,如果我添加一个 printf 语句,在包含 stdio.h 后,它返回退出代码5
25
和5
here的含义是什么,为什么它会被在 main() 之前或之后执行的任何代码返回?如果我使用 int main() 并且不放置 return 语句,退出代码为零。