[問題] fprintf 問題

看板C_and_CPP作者 (shaofeng)時間15年前 (2010/01/13 08:04), 編輯推噓4(402)
留言6則, 5人參與, 最新討論串1/1
各位先進,最近小弟需要將glibc裡面的一個元件提出來 可是遇到fprintf會導致build不過 Code: f_print (stream, _("-a\t\tgenerate all files, including samples\n")); 這code會多了"_"導致build fail,我又去找舊版的code發現舊版的code為 f_print (stderr, "-a\t\tgenerate all files, including samples\n"); 舊的code沒有 _也沒有括號,請問有先進知道為什麼需要加上_()嗎? 另為什麼glibc在build的時候如何必開這問題,感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.80.67.200

01/13 16:33, , 1F
那個原來會是 _T() 嗎?
01/13 16:33, 1F

01/13 17:01, , 2F
應該不是,因為有些f_print就沒有_,可是有括號
01/13 17:01, 2F

01/13 17:02, , 3F
也有別的API這樣用:error (_("preprocessor error"));
01/13 17:02, 3F

01/13 17:19, , 4F
#define _(msgid) gettext(msgid) 剛翻了一下有這種東西
01/13 17:19, 4F

01/13 21:41, , 5F
_()是轉成寬字元嗎?
01/13 21:41, 5F

01/13 22:54, , 6F
那是呼叫 gettext 做處理,做翻譯(I18N)功能用的。
01/13 22:54, 6F
文章代碼(AID): #1BJNw1Bk (C_and_CPP)