【发布时间】:2018-01-30 09:14:45
【问题描述】:
在 Debian 8 的源代码 /source/procps-3.3.9/lib/fileutils.c 第 38 行是: char const *write_error = _("写入错误");
我对 _("write error") 部分感到困惑。谷歌在变量命名约定或库保留名称上显示了该结果,但没有关于何时 _ 位于 = 右侧和 () 引用的字符串之前。
我还将这一行放入一个最简单的测试程序中,因为只有有用的行然后编译失败说:
test.c:5:20: warning: implicit declaration of function ‘_’ [-Wimplicit-function-declaration] char const *str = _("test string"); ^ test.c:5:20: warning: initialization makes pointer from integer without a cast [-Wint-conversion] /tmp/cczQpqTh.o: In function `main': test.c:(.text+0x15): undefined reference to `_' collect2: error: ld returned 1 exit status
有人知道_(" ") 格式是什么意思吗?
【问题讨论】:
-
_是一个完全合法的名称。
标签: c