#pragma comment ディレクティブは、ターゲットまたはオブジェクト・ファイルにコメント・ストリングを入れます。
ここで、サブオプションでは以下が行われます。
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 2004 XL C/C++ for Linux Compiler Version 7.0 Mon Mar 1 10:28:13 2004 My copyright