/ENTRY (エントリ ポイント シンボル)/ENTRY (Entry-Point Symbol)



ユーザーが定義した開始を指定する関数は、.exe ファイルまたは DLL のアドレスします。A function that specifies a user-defined starting address for an .exe file or DLL.


/ENTRY オプションは、.exe ファイルまたは DLL の開始アドレスとしてエントリ ポイント関数を指定します。The /ENTRY option specifies an entry point function as the starting address for an .exe file or DLL.

使用する関数を定義する必要があります、__stdcall呼び出し規約。The function must be defined to use the __stdcall calling convention. パラメーターと戻り値のかどうか、プログラムはコンソール アプリケーション、windows アプリケーションまたは DLL に依存します。The parameters and return value depend on if the program is a console application, a windows application or a DLL. エントリ ポイントを設定して、C ランタイム ライブラリが正しく初期化され、静的オブジェクトに対して C++ コンス トラクターが実行されるようにリンカーを使用することをお勧めします。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.

既定では、開始アドレスは、C ランタイム ライブラリから関数名です。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 (またはwmainCRTStartup)mainCRTStartup (or wmainCRTStartup) /SUBSYSTEM:CONSOLE; を使用するアプリケーション呼び出しmain(またはwmain)An application that uses /SUBSYSTEM:CONSOLE; calls main (or wmain)
WinMainCRTStartup (またはwWinMainCRTStartup)WinMainCRTStartup (or wWinMainCRTStartup) /SUBSYSTEM を使用するアプリケーション:WINDOWS; 呼び出しWinMain(またはwWinMain) を使用して定義されている必要があります __stdcallAn application that uses /SUBSYSTEM:WINDOWS; calls WinMain (or wWinMain), which must be defined to use __stdcall
_DllMainCRTStartup_DllMainCRTStartup DLL。呼び出しDllMainする必要がありますを使用する定義が存在する場合 __stdcallA DLL; calls DllMain if it exists, which must be defined to use __stdcall

場合、 /DLLまたは/SUBSYSTEMをリンカーがかどうかに応じてサブシステムとエントリ ポイントを選択して、オプションが指定されていないmainまたはWinMainが定義されています。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.

関数は、 mainWinMain、およびDllMainユーザー定義のエントリ ポイントの 3 つの形式します。The functions main, WinMain, and DllMain are the three forms of the user-defined entry point.

管理対象イメージを作成するには、/ENTRY に指定された関数での署名が必要 (LPVOID var1、DWORD var2、LPVOID var3)。When creating a managed image, the function specified to /ENTRY must have a signature of (LPVOID var1, DWORD var2, LPVOID var3).

独自に定義する方法についてはDllMain、エントリ ポイントを参照してくださいDll と Visual C ランタイム ライブラリの動作します。For information on how to define your own DllMain entry point, see DLLs and Visual C++ run-time library behavior .

Visual Studio 開発環境でこのリンカー オプションを設定するにはTo set this linker option in the Visual Studio development environment

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。Open the project's Property Pages dialog box. 詳細については、次を参照してください。 Visual Studio での設定の C++ コンパイラとビルド プロパティします。For details, see Set C++ compiler and build properties in Visual Studio.

  2. をクリックして、リンカーフォルダー。Click the Linker folder.

  3. をクリックして、詳細プロパティ ページ。Click the Advanced property page.

  4. 変更、エントリ ポイントプロパティ。Modify the Entry Point property.

このリンカーをコードから設定するにはTo set this linker option programmatically

関連項目See also

MSVC リンカーのリファレンスMSVC linker reference
MSVC リンカー オプションMSVC Linker Options