comment
pragma
オブジェクト ファイルまたは実行可能ファイル内にコメント レコードを配置します。
構文
#pragma comment(
comment-type [,
"comment-string" ])
解説
comment-type は、コメント レコードの種類を指定する定義済み識別子 (後述) の 1 つです。 省略可能な comment-string は、いくつかのコメントの種類で追加情報を指定する文字列リテラルです。 comment-string は文字列リテラルであるため、エスケープ文字、埋め込まれた引用符 ("
)、連結の使用は、文字列リテラルのすべての規則に従います。
compiler
オブジェクト ファイル内にコンパイラの名前とバージョン番号を配置します。 このコメント レコードはリンカーには無視されます。 このレコードの種類で comment-string パラメーターを指定すると、コンパイラが警告を生成します。
lib
オブジェクト ファイル内にライブラリ検索レコードを配置します。 このコメントの種類では、リンカーで検索するライブラリの名前 (および場合によってはパス) を持つ comment-string パラメーターを指定する必要があります。 ライブラリ名は、オブジェクト ファイル内の既定のライブラリ検索レコードに従います。 ライブラリが /nodefaultlib
を使用して指定されていない限り、リンカーはコマンド ラインで指定した場合と同じ方法でこのライブラリを検索します。 複数のライブラリ検索レコードを同じソース ファイルに配置できます。 各レコードは、ソース ファイルと同じ順序でオブジェクト ファイルに表示されます。
既定のライブラリおよび追加されたライブラリの順序が重要な場合、/Zl
スイッチを付けてコンパイルすると、既定のライブラリ名はオブジェクト モジュールに取り込まれません。 2 つ目の comment pragma を使用して、追加したライブラリの後に既定のライブラリの名前を挿入することができます。 これらの pragma ディレクティブを使用して指定したライブラリは、ソース コードと同じ順序でオブジェクト モジュールに出現します。
リンカー
オブジェクト ファイル内にリンカー オプションを配置します。 このコメントの種類を使用して、コマンド ラインに渡す代わりにリンカー オプションを指定するか、開発環境でリンカー オプションを指定することができます。 たとえば、/include オプションを指定して、強制的にシンボルを追加できます。
#pragma comment(linker, "/include:__mySymbol")
linker 識別子に渡すことができるのは、次の (comment-type) リンカー オプションだけです。
ユーザー
オブジェクト ファイル内に一般的なコメントを配置します。 comment-string パラメーターには、コメントのテキストが含まれます。 このコメント レコードはリンカーには無視されます。
例
次の pragma を指定すると、リンカーはリンク中に EMAPI.LIB ライブラリを探します。 リンカーは、まず現在の作業ディレクトリ内を検索し、次に LIB 環境変数で指定されたパス内を検索します。
#pragma comment( lib, "emapi" )
次の pragma を指定すると、コンパイラはオブジェクト ファイル内にコンパイラの名前とバージョン番号を埋め込みます。
#pragma comment( compiler )
comment-string パラメーターを受け取るコメントの場合、マクロが文字列リテラルに展開される限り、文字列リテラルを使用するどの場所でもそのマクロを使用できます。 文字列リテラルと、文字列リテラルに展開されるマクロとの任意の組み合わせを連結することもできます。 たとえば、次のステートメントは許容されます。
#pragma comment( user, "Compiled on " __DATE__ " at " __TIME__ )