为什么 VC++ 链接器会在入口点添加下划线?

Why VC++ linker adds an underscore to the entry point?

当我将这些参数传递给 VC++ 链接器时:

link D:.obj /OUT:D:.exe /SUBSYSTEM:CONSOLE /ENTRY:main

链接器实际上将字符串 "main" 视为“_main”(如果我输入 /ENTRY:hello,它将把它视为 /ENTRY:_hello 等)。

这是为什么?我可以让链接器不在入口点添加下划线吗?

这是由于 name mangling (more detailed info on VC name mangling here)。而且我认为你不想删除它。