Fw: [問題] ptt編譯移植問題

作者: erspicu (.)   2014-08-06 21:40:36
※ [本文轉錄自 C_and_CPP 看板 #1JuQBV_3 ]
作者: erspicu (.) 看板: C_and_CPP
標題: [問題] ptt編譯移植問題
時間: Wed Aug 6 11:36:59 2014
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
ARM Linux GCC
問題(Question):
X86平台上 註冊時候輸入正確中文姓名 PTT給過
但ARM平台上 住測時候輸入正確中文姓名 PTT顯示 "您的輸入似乎不正確"
無法繼續後續註冊程序
錯誤結果(Wrong Output):
姓名正確性判別失誤
程式碼(Code):(請善用置底文網頁, 記得排版)
http://ideone.com/L6Dw9G
補充說明(Supplement):
PttCurrent版太冷僻 沒人會回
自自己嘗試解決 只好定義FOREIGN_REG flag
直接忽略中文姓名正確判別 才能繼續後續註冊
編譯過程中 的警告訊息 查起來是 assembler的問題
但我現在沒辦法貼上
目前猜測是 arm上 編譯器或是組譯器問題
可能跟arm.x86一些cpu架構性差異問題 (LE BE?)
這問題有空自己會繼續追
但想說有經驗的人或許會知道怎麼回事
滿奇妙的 中間應該有不少文章
作者: descent (「雄辯是銀,沉默是金」)   2014-08-06 11:43:00
有沒可能是 utf8/big5 中文的問題
作者: uranusjr (←這人是超級笨蛋)   2014-08-06 12:19:00
如果直接給 Big 5 編碼過後的 char sequence 呢?Windows 7 和 ARM Linux 其實是一樣的, 只是 char 定義為signed 或 unsigned 的差異; 怎麼看都還是編碼問題啊
作者: purpose (秀才遇到肥宅兵)   2014-08-06 18:14:00
就 sign extension 超過 0x7F 的被一直補 1 出來就變負數然後 linux 會把你的中文用 UTF-8 存,Win 用 Big5 存至於 linux 的 98 97 "101" 應該是你打字錯誤
作者: uranusjr (←這人是超級笨蛋)   2014-08-06 18:23:00
這個故事告訴我們請不要對 non-ASCII input 用 char...不知道如果提 patch 改成 signed char 他們會不會收
作者: erspicu (.)   2014-08-06 21:40:00
借轉

Links booklink

Contact Us: admin [ a t ] ucptt.com