2011-12-22 4 views
0

私は、VC++コンソールプロジェクトのデフォルトのリンカ設定では、「エントリポイント」は空のま​​まであることに留意しました。私はなぜ/ ENTRYリンカオプションは不要ですか?

entry point (004110FF) @ILT+250(_mainCRTStartup) 

を見て生成された実行可能にDUMPBIN使用私はまた、プロジェクトのプロパティのコマンドラインオプションをチェックし、与えられない「/ ENTRY」リンカオプションはありません。

したがって、リンカは生成された実行可能ファイルのエントリポイントをどのように決定しますか?いくつかの「の#pragmaコメント(リンカ、 "/ entyあり)

1:私は2つのオプションを考えることができます。_mainCRTStartup")CRT ソースコードに埋め込まれた部分は、しかし、私はそれを見つけることができませんでした

。 2)リンカ自体は、「/ SUBSYSTEM:CONSOLE」からこの情報を取得します。オプション ので、Visual Studioでのオプションは、ちょうどLINK.EXE

によって行われた選択はあなたが任意のアイデアを持っていますが上書きされます

+0

申し訳ありません、自分自身で答えを見つけました。ちょうど私が見つけたものを共有する: 私の2番目の推測は正しいです。リンカーは、この情報を他の設定(例えば/ subsystem:console)から得ます。 MSDN [リンク]を参照してください(http://msdn.microsoft.com/en-us/library/f9t8842e(v= VS.100).aspx) したがって、プロジェクトプロパティのオプションは、 _mainCRTStartup以外のエントリポイント。 – user1111407

+0

自分の質問への回答としてコメントを追加してから、システムが許可したときにそれを受け入れるべきです。 –

答えて

0

第2の推測は正しいです。リンカー自体はこれを導き出します他の設定情報(例: /サブシステム:コンソール)。 MSDN linkを参照してください。したがって、プロジェクトプロパティのオプションは、_mainCRTStartup以外のエントリポイントを提供する場合にのみ必要です。

関連する問題