Ask Learn
Preview
Please sign in to use this experience.
Sign inThis browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
/ENTRY:function
function
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.
Function name | Default for |
---|---|
mainCRTStartup (or wmainCRTStartup) | An application that uses /SUBSYSTEM:CONSOLE; calls main (or wmain ) |
WinMainCRTStartup (or wWinMainCRTStartup) | An application that uses /SUBSYSTEM:WINDOWS; calls WinMain (or wWinMain ), which must be defined to use __stdcall |
_DllMainCRTStartup | A DLL; calls DllMain if it exists, which must be defined to use __stdcall |
If the /DLL or /SUBSYSTEM option is not specified, the linker selects a subsystem and entry point depending on whether main
or WinMain
is defined.
The functions main
, WinMain
, and 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 .
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.
Please sign in to use this experience.
Sign in