|
|
|
|
 这样表示一个字符串是为什么: _("字符串") - dwwwww [ 2007-04-27 15:25 | 450 byte(s)]
 Re: 这样表示一个字符串是为什么: _("字符串") - EricFisher [ 2007-07-07 00:50 | 383 byte(s)]
 Re: 这样表示一个字符串是为什么: _("字符串") - lllaaa [ 2007-09-25 22:46 | 65 byte(s)]
 Re: 这样表示一个字符串是为什么: _("字符串") - MMMIX [ 2007-04-27 18:07 | 37 byte(s)]
 Re: 这样表示一个字符串是为什么: _("字符串") - dwwwww [ 2007-04-27 22:24 | 34 byte(s)]
 Re: 这样表示一个字符串是为什么: _("字符串") - KingArthur [ 2007-10-25 14:32 | 342 byte(s)]
 Re: 这样表示一个字符串是为什么: _("字符串") - sartpoint [ 2007-04-27 17:05 | 24 byte(s)]
 Re: 这样表示一个字符串是为什么: _("字符串") - dwwwww [ 2007-04-27 22:21 | 30 byte(s)]
|
|
|
|
[Original]
[Print]
[Top]
|
log_info (_("Found %d files and subdirectories.
"), ut->nr_entries);
log_info是一个宏,定义如下:
#define log_info(s, str...) {
print_log (ULOG_NORMAL, (s), ##str);
}
print_log是一个自己封装的debug函数。
问题是:
为什么要放一个下划线“_”在要传递的串前面?
|
|
|
[Original]
[Print]
[Top]
|
|
[Original]
[Print]
[Top]
|
>#define log_info(s, str...) {
>print_log (ULOG_NORMAL, (s), ##str);
>}
没看懂log_info的宏定义,宏定义参数里的“...”什么意思?
我知道gcc的intl.h里:
#ifndef _
# define _(msgid) gettext (msgid)
#endif
这样就可以通过gettext函数来实现输出的字符串本地化,比如中文输出。
|
|
|
[Original]
[Print]
[Top]
|
|
|