展開された実行可能ファイルまたは共有ライブラリのバージョン番号を確認できるように、バイナリ オブジェクト内に what 文字列を埋め込もうとします。通常、標準の CVS Id 情報をこの文字列に埋め込みます。たとえば、以下を埋め込む場合があります。
const char cvsid[] = "@(#)OUR_TEAM_staging_remap_$Revision: 1.30 $ $Name: $";
Cコード内。
男から (1) 何:
what ユーティリティーは、SCCS get コマンド (sccs-get(1) を参照) が @(#) ID キーワードを置換するパターン @(#) の出現を各ファイル名で検索し、", >, NEWLINE、\、または NULL 文字。
この変数のインスタンスは 1 つだけであり、参照されることはありません。これはコンパイラによって最適化される可能性があると誰かが示唆しました。
私はこの手法を C と C++ の両方で、さまざまなコンパイラで長年使用してきましたが、最適化された文字列をまだ見ていません。
最適化されていない理由を知っている人はいますか?