Я заметил, что в настройках компоновщика по умолчанию для проекта консоли VC++ «точка входа» остается пустой. Использование DUMPBIN на сгенерированном исполняемом я увиделЗачем нужен параметр linker/ENTRY?
entry point (004110FF) @ILT+250(_mainCRTStartup)
Я также проверил опцию командной строки свойств проекта и нет «/ ENTRY» варианта линкера дал.
Итак, как линкер определяет точку входа сгенерированного исполняемого файла? Я могу думать о 2-х вариантов:
1) существует некоторый «#pragma комментарий (линкера "/ enty:. _mainCRTStartup") похороненных в исходном коде CRT Но я не нашел его
. 2) сам компоновщик получает эту информацию из «/ ПОДСИСТЕМЕ: CONSOLE». опция Поэтому вариант в Visual Studio будет просто перезаписать выбор, сделанный link.exe
у вас есть какие-либо идеи
Извините, я нашел ответ самостоятельно. Просто делюсь тем, что я нашел: Мое второе предположение было правильным. Сам компоновщик выводит эту информацию из других заданных параметров (например,/subystem: console). См. MSDN [ссылка] (http://msdn.microsoft.com/en-us/library/f9t8842e (v = VS.100) .aspx) Таким образом, опция в свойствах проекта необходима только тогда, когда вы хотите предоставить точка входа, отличная от _mainCRTStartup. – user1111407
Вы должны добавить свой комментарий в качестве ответа на свой вопрос, а затем принять его, когда система позволит вам это сделать. –