#pragma comment

説明

#pragma comment ディレクティブはターゲットまたはオブジェクト・ファイルにコメント・ストリングを配置します。

構文

構文図を読む構文図をスキップする                          .-compiler-------------------------------.
>>-#--pragma--comment--(--+-date-----------------------------------+--)-><
                          +-timestamp------------------------------+
                          '-+-copyright-+--+---------------------+-'
                            '-user------'  '-,--"token_sequence"-'
 

サブオプションは以下のことを行います。

compiler コンパイラーの名前とバージョンが、生成されたオブジェクト・モジュールの最後に追加されます。
date コンパイルの日付と時刻が、 生成されたオブジェクト・モジュールの最後に追加されます。
timestamp ソースを最後に変更した日付と時刻が、 生成されたオブジェクト・モジュールの最後に追加されます。
copyright token_sequence によって指定されたテキストが、 生成されたオブジェクト・モジュール内にコンパイラーによって入れられ、 プログラム実行時にメモリーにロードされます。
user token_sequence によって指定されたテキストが、 生成されたオブジェクト内にコンパイラーによって入れられますが、 プログラム実行時にメモリーにロードされません

以下のプログラム・コードがコンパイルされて出力ファイル a.out が作成されると想定します。

#pragma comment(date)
#pragma comment(compiler)
#pragma comment(timestamp)
#pragma comment(copyright,"My copyright")

int main() {

return 0;
}

オペレーティング・システムの strings コマンドを使用して、オブジェクトまたはバイナリー・ファイルでこれらのストリングやその他のストリングを検索することができます。以下のコマンドを発行すると、

strings a.out

a.out に組み込まれたコメント情報が、a.out で検出された他のストリングと共に表示されます。例えば上記のプログラム・コードを想定した場合、以下のようになります。

Mon Mar 1 10:28:09 2005
XL C/C++ for Linux Compiler Version 8.0
Mon Mar 1 10:28:13 2005
My copyright
注:

token_sequence に指定されたストリング・リテラルが 32767 バイトを超えると、通知メッセージが出され、プラグマが無視されます。