/ENTRY (エントリ ポイント シンボル)

/ENTRY:function

引数

function
.exe ファイルまたは DLL のユーザー定義の開始アドレスを指定する関数です。

解説

/ENTRY を使うと、.exe ファイルまたは DLL の開始アドレスとしてエントリ ポイント関数を指定できます。

この関数は、__stdcall 呼び出し規則を使うように定義する必要があります。 パラメーターと戻り値は、そのプログラムがコンソール アプリケーションであるか、Windows アプリケーションであるか、または 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 が定義されているかどうかによって、リンカーがサブシステムとエントリ ポイントを選択します。

関数 mainWinMainDllMain は、ユーザー定義のエントリ ポイントの 3 つの形式です。

マネージド イメージを作成する場合、/ENTRY に指定する関数のシグネチャは (LPVOID var1, DWORD var2, LPVOID var3) である必要があります。

独自の DllMain エントリ ポイントを定義する方法の詳細については、「DLL と Visual C++ ランタイム ライブラリの動作」を参照してください。

Visual Studio 開発環境でこのリンカー オプションを設定するには

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。

  2. [構成プロパティ]>[リンカー]>[詳細] プロパティ ページを選択します。

  3. [エントリ ポイント] プロパティを変更します。

このリンカーをコードから設定するには

関連項目

MSVC リンカーのリファレンス
MSVC リンカー オプション