/ENTRY (символ точки входа)
Обновлен: Ноябрь 2007
/ENTRY:function
Заметки
Здесь:
- function
Функция, указывающая пользовательский начальный адрес EXE-файла или библиотеки DLL.
Заметки
Параметр /ENTRY определяет функцию точки входа в качестве начального адреса EXE-файла или библиотеки DLL.
Эта функция должна быть определена с использованием соглашения о вызове __stdcall. Параметры и возвращаемое значение необходимо определить согласно документации Win32 API для функции WinMain (для EXE-файла) или DllEntryPoint (для библиотеки DLL). Рекомендуется позволить компоновщику установить точку входа таким образом, чтобы корректно выполнялась инициализация библиотеки времени выполнения языка C, и вызывались бы конструкторы для статических объектов в C++.
По умолчанию начальным адресом является имя функции из библиотеки времени выполнения языка C. Компоновщик выбирает ее в соответствии с атрибутами программы, как показано в следующей таблице.
Имя функции |
Используется по умолчанию для |
---|---|
mainCRTStartup (или wmainCRTStartup) |
приложений, использующих параметр /SUBSYSTEM:CONSOLE; функция вызывает функцию main (или wmain) |
WinMainCRTStartup (или wWinMainCRTStartup) |
приложений, использующих параметр /SUBSYSTEM:WINDOWS; функция вызывает функцию WinMain (или wWinMain), которая должна быть объявлена с соглашением о вызове __stdcall |
_DllMainCRTStartup |
библиотек DLL; функция вызывает функцию DllMain (если она существует), которая должна быть объявлена с соглашением о вызове __stdcall |
Если параметр /DLL или /SUBSYSTEM не указан, то компоновщик выбирает подсистему и точку входа в зависимости от того, какая из функций main или WinMain была определена.
Функции main, WinMain и DllMain — три формы пользовательской точки входа.
Когда создается управляемый образ, указанная с помощью параметра /ENTRY функция должна иметь сигнатуру (LPVOID var1, DWORD var2, LPVOID var3).
Дополнительные сведения о том, как определить собственную точку входа DllMain, см. в разделе Поведение библиотеки времени выполнения.
Установка данного параметра компоновщика в среде разработки Visual Studio
Откройте диалоговое окно Страницы свойств проекта. Дополнительные сведения см. в разделе Установка свойств проекта Visual C++.
Щелкните папку Компоновщик.
Щелкните страницу свойств Дополнительно.
Измените значение свойства Точка входа.
Установка данного параметра компоновщика программным способом
- См. раздел EntryPointSymbol.