我们的代码在 printf 中硬编码了至少 20 个不同文件中的版本信息,例如:
printf("Software version v11.2");
这意味着每次有更新时都要更改 20 个文件。
相反,我希望在 common.h 文件中使用宏并将其#include,这样版本更新只是更改了一个宏,仅此而已。
我试过类似的东西:
#include <stdio.h>
#define VERSION "v11.2"
int main()
{
printf("Trying to print macro: ", VERSION);
}
但是这种“字符串”“字符串”风格在 Java 中而不是在 C 中有效。任何想法如何完成它?
我们将使用 gcc 进行编译。
注意:宏也用于一些典型的 *.rc 文件中,我们不能在其中使用变量,并且在某些地方这些 rc 文件使用 SQL 查询进行解析。所以我们不能使用像 char ver[]="v11.2" 这样的变量