linux – 为什么gcc在调用“main”之后在程序中放置一个“halt”指令?

linux – 为什么gcc在调用“main”之后在程序中放置一个“halt”指令?

当在 Linux / i386系统上看到由gcc生成的精灵可执行文件时,似乎在调用“main”之后,在“nop”填充之前,它会放置一个停止指令(0xf4),例如: │ ……. ! entrypoint:│ ……. ! xor ebp, ebp│ 80482e2 ! pop esi│ 80482e3 ! mov ecx

Linux C:从main()返回是否导致多线程应用程序终止?

Linux C:从main()返回是否导致多线程应用程序终止?

这个问题似乎可能是重复的,但是我找不到一个.如果我错过了上一个问题,道歉. 在Java中,我有大部分的经验,如果你的main()分叉一个线程,并立即返回进程继续运行,直到进程中的所有(非守护进程)线程都停止. 在C中,似乎并非如此 – 一旦主线程返回进程正在停止,其他