Когда я передаю эти аргументы в VC++ компоновщик:
link D:\1.obj /OUT:D:\1.exe /SUBSYSTEM:CONSOLE /ENTRY:main
Компилятор фактически обрабатывает строку "main", как если бы она была "_main" (если я должен был ввести /ENTRY: привет, это будет относиться к ней как /ENTRY: _hello и т.д.).
Почему это? и могу ли я сделать компоновщик не добавлением подчеркивания к точке входа?
Это связано с именем mangling (более подробная информация об изменении имени VC здесь). И я не думаю, что вы хотите его удалить.