C 预处理器#include
C++ pre-processor #include
我正在尝试将我的程序变成多种语言,在开始时,询问用户是否想要Lagenchal1或Language2。用户输入存储在变量中,然后使用if语句,我得到用户选择的语言。
这样:
std::cin >> language;
if(language == ENGLISH)
{
// Do something
}
else if(language == SPANISH)
{
// Do something else
}
我接下来要做的是,我存储了要翻译成两个标题文件的每个功能,一个英语和一个西班牙语,两个标头文件都是完全相同的,除了每个输出都会翻译。
现在我所做的就是这样
std::cin >> language;
if(language == ENGLISH)
{
#include "English.h"
}
else if(language == SPANISH)
{
#include "Spanish.h"
}
现在,#include
是一项前处理器指令,因此在主函数之前被"执行",任何方式围绕此操作?
现在,#include是后处理器指令,因此在主函数之前被"执行"
它是 pre 处理器指令。它不是在运行时"执行";源是在编译之前预处理的。
有什么方法?
已编译和执行程序后无法运行预处理器。
一种更好的方法是不复制功能定义,而是在打印输出之前调用函数以翻译消息。此翻译函数应将一个参数字符串映射到翻译的字符串。
相关文章:
- #定义c-预处理器常量..我做错了什么
- 预处理器:插入结构名称中的前一个行号
- 如何在c++中实现处理器调度模拟器
- 既然存在危险,为什么项目要使用-I include开关
- 有充分的理由在h文件中使用include保护而不是cpp文件吗
- 如何将更多文件夹添加到c++include路径
- 什么是"#include <boost/functional/hash.hpp> "?
- C/C++预处理器是否可以检测一些编译器选项
- 要与"if constexpr"一起使用的编译时消息(在预处理器之后)
- 在clang++预处理器中确定gcc工具链版本
- 不同/较旧的处理器运行c++代码的方式是否不同
- 每个 #include 指令的预处理器的时间成本是多少?
- C 预处理器#include
- 如何指定远程预处理器包括192.0.2.17://usr/include的路径
- 在预处理器命令中使用 qmake 变量 #include
- 关于在C++中使用#include预处理器指令
- 如何使用c++宏预处理器生成有效的include语句
- 预处理器tomullery(字符串化#include)
- c 预处理器 - C++ #include查找是否有任何标准要求
- 如何通过C++预处理器 #include 包含文件的一部分