/ENTRY (Entry-Point Symbol)
A function that specifies a user-defined starting address for an .exe file or DLL.
The /ENTRY option specifies an entry point function as the starting address for an .exe file or DLL.
The function must be defined to use the
__stdcall calling convention. The parameters and return value depend on if the program is a console application, a windows application or a DLL. It is recommended that you let the linker set the entry point so that the C run-time library is initialized correctly, and C++ constructors for static objects are executed.
By default, the starting address is a function name from the C run-time library. The linker selects it according to the attributes of the program, as shown in the following table.
|mainCRTStartup (or wmainCRTStartup)
|An application that uses /SUBSYSTEM:CONSOLE; calls
|WinMainCRTStartup (or wWinMainCRTStartup)
|An application that uses /SUBSYSTEM:WINDOWS; calls
wWinMain), which must be defined to use
|A DLL; calls
DllMain if it exists, which must be defined to use
DllMain are the three forms of the user-defined entry point.
When creating a managed image, the function specified to /ENTRY must have a signature of (LPVOID var1, DWORD var2, LPVOID var3).
For information on how to define your own
DllMain entry point, see DLLs and Visual C++ run-time library behavior .
To set this linker option in the Visual Studio development environment
Open the project's Property Pages dialog box. For details, see Set C++ compiler and build properties in Visual Studio.
Select the Configuration Properties > Linker > Advanced property page.
Modify the Entry Point property.
To set this linker option programmatically
- See EntryPointSymbol.