次の方法で共有


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

更新 : 2007 年 11 月

/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 関数) を呼び出します。この場合、WinMain (または wWinMain) は __stdcall で定義されている必要があります。

_DllMainCRTStartup

DLL ファイル。DllMain 関数がある場合は、この関数を呼び出します。この場合、DllMain は __stdcall で定義されている必要があります。

/DLL オプションまたは /SUBSYSTEM オプションを指定しない場合は、main または WinMain が定義されているかどうかに応じて、サブシステムおよびエントリ ポイントが選択されます。

main 関数、WinMain 関数、および DllMain 関数の 3 つの関数は、ユーザー定義のエントリ ポイントの形式です。

マネージ イメージを作成する場合は、/ENTRY で指定された関数に、(LPVOID var1, DWORD var2, LPVOID var3) の署名が必要です。

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

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

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。詳細については、「Visual C++ プロジェクトのプロパティの設定」を参照してください。

  2. [リンカ] フォルダをクリックします。

  3. [詳細] プロパティ ページをクリックします。

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

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

参照

参照

リンカ オプションの設定

リンカ オプション