1

在一些 gcc 代码中,我遇到了以下构造。致命的 (_("%s: 找不到节 %s"), file_name, section_name); 在这种情况下,我从未见过“_”。从字符数组创建实体是某种构造,很可能是编译器扩展。

有人能告诉我它是什么吗?

4

1 回答 1

2

它通常是与GNU gettext 项目相关联的宏,用于国际化。这个想法是传递的字符串是查找表中的键。每种支持的语言都有一个这样的表,当前的表由少数环境因素决定。

在表中找到的值应该是将键翻译成目标语言。

由于查找此类翻译后的字符串是 i18n 代码中的常见活动,_因此将其作为查找函数的方便短名称引入。

于 2013-04-08T05:00:17.530 回答