Что означает printf (_ ("hello, world \ n"))? - PullRequest
7 голосов
/ 29 ноября 2010

Какова роль аргумента _ ("привет, мир \ n") для printf / put и т. Д.? Я часто нахожу это при чтении исходного кода GNU.

Ответы [ 4 ]

9 голосов
/ 29 ноября 2010

См. GNU Gettext - он (_(...)) используется в качестве «сайта связывания» для перевода.

6 голосов
/ 29 ноября 2010

Это интернационализация gettext .

5 голосов
/ 29 ноября 2010

это макрос, который заменяет функцию перевода gettext. Для подробного объяснения gettext, посмотрите эту статью: http://oriya.sarovar.org/docs/gettext_single.html

3 голосов
/ 29 ноября 2010

Функция подчеркивания (или макрос) - это пользовательская функция, определяемая любым проектом, который вы просматриваете. По соглашению принято отправлять строку в GNU Gettext , чтобы получить переведенную версию строки для текущего языка пользователя.

Это использование макроса _ описано в обзоре , приведенном в руководстве GNU Gettext.

...