#pragma comment
以下はどういう意味ですか?
#pragma comment(lib, "kernel32")
#pragma comment(lib, "user32")
#pragma comment
以下はどういう意味ですか?
#pragma comment(lib, "kernel32")
#pragma comment(lib, "user32")
回答:
#pragma comment
生成されたオブジェクトファイルにコメントを残すことをVisual C ++に指示するコンパイラディレクティブです。その後、コメントは、リンカーがオブジェクトファイルを処理するときに読み取ることができます。
#pragma comment(lib, libname)
「libname」ライブラリをライブラリ依存関係のリストに追加するようにリンカーに指示します。 Linker->Input->Additional dependencies
MSDNの#pragmaコメントを参照してください
私は常にそれらを「コンパイラ指令」と呼んでいます。これらは、コンパイル段階で、上記のようなライブラリを含む分岐、特定のエラーの無効化などを行うようコンパイラーに指示します。
コンパイラ会社は通常、独自の拡張機能を作成して、機能を容易にします。たとえば、マイクロソフトは「#pragma once」取引を開始し、それがMS製品でのみ行われたことを確信しています。
プラグマディレクティブ表示されるテーブルに「#pragmaコメント」が含まれています。
HTH
たとえば、GCCには独自の#pragmaのセットがあると思います。
#pragma comment
意味するのか尋ねています。
プラグマディレクティブは、オペレーティングシステムまたはマシン固有(x86またはx64など)のコンパイラオプションを指定します。利用可能なオプションがいくつかあります。詳細はhttps://msdn.microsoft.com/en-us/library/d9x1s805.aspxにあります
#pragma comment( comment-type [,"commentstring"] )
この形式です。
さまざまなコメントタイプの詳細については、https://msdn.microsoft.com/en-us/library/7f0aews7.aspxを参照してください。
#pragma comment(lib, "kernel32")
#pragma comment(lib, "user32")
上記のコード行には、リンカが検索する必要のあるライブラリ名(またはパス)が含まれています。これらの詳細は、ライブラリ検索レコードの一部としてオブジェクトファイルに含まれています。
したがって、この場合にkernel.lib
及びuser32.lib
、リンカーによって検索され、最終的な実行可能ファイルに含まれます。
Linker -> General -> Additional Library Directories
か(など)?