私たちのコードには、printfにハードコードされたバージョン情報が少なくとも20の異なるファイルに含まれています。
printf("Software version v11.2");
これは、更新があるたびに20のファイルを変更することを意味します。
代わりに、マクロを使用して、それをcommon.hファイルに#includeして、バージョンの更新で1つのマクロを変更するだけにします。それだけです。
私は次のようなことを試しました:
#include <stdio.h>
#define VERSION "v11.2"
int main()
{
printf("Trying to print macro: ", VERSION);
}
しかし、このスタイルの「文字列」「文字列」は、CではなくJavaで機能します。それを実現する方法はありますか?
コンパイルにはgccを使用します。
注:このマクロは、変数を使用できない一般的な* .rcファイルでも使用され、これらのrcファイルはSQLクエリを使用して解析されます。したがって、char ver []="v11.2"のような変数は使用できません。