gpt4 book ai didi

c++ - 我们可以在 INI 文件中使用#ifdef 宏,或者我们如何限制在 INI 文件中编写的设置的编译?

转载 作者:太空宇宙 更新时间:2023-11-04 11:45:02 27 4
gpt4 key购买 nike

您好,我有一个代码,其中使用了几个 INI 文件进行预定义设置。我可以在 INI 文件中使用#ifdef 吗?如果可以,我该如何使用它?如果不是,我如何限制我对 INI 文件的代码编译。例如我有一个宏 - “FLAG_A”我有如下的 INI 文件

设置.ini

Volume = 10    
Brightness = 30
A_Variable = 0

我想像这样使用它

#ifdef FLAG_A    
Volume = 5
#endif
Brightness = 30
A_Variable = 0

最佳答案

Ini 文件通常不会由 C++ 编译器编译。相反,C++ 编译器编译 C++ 源文件。事实上,ini 文件通常根本不会被编译,因为 ini 文件不是编译语言。

C(本质上与 C++ 相同)预处理器不用于除语言目的之外的其他宏处理。一些编译器确实允许您在不编译的情况下单独调用预处理器。一个例子:

gcc -E file.ini

但由于目的是为了编译,因此除了处理指令并将其替换为相应的输出之外,还会为编译器添加实现定义的指令。如果您的 ini 处理器支持 # 字符作为注释,那么这些指令将很方便地解释为注释。否则,这可能不适合您。

无论如何,除了 C 预处理器使用的语言之外,还有其他独立的宏语言和模板处理器。我建议您使用其中之一。

关于c++ - 我们可以在 INI 文件中使用#ifdef 宏,或者我们如何限制在 INI 文件中编写的设置的编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58071556/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com