看板 EE_DSnP 關於我們 聯絡資訊
(請見上上一篇關於 "make ref" 的問題) 簡而言之,如果你的 keyboard mapping 與我們不一樣, 你用我們給的 cmdReader.o-refxx compile 後的 cmdReader-ref 在這些 special keys 會有問題。 原因主要是你從 charDef.cpp return 回來的是你在 charDef.h 裡定義的 ParseChar 的值,但在 cmdReader.o-refxx 裏頭 precompile 好的卻是看 我們 keyboard mapping 的值,所以這些 keys 會對不起來, 而產生 testAsc 看起來正確,但 cmdReader-ref 卻不對的情況。 要修正這個問題,我更改了三個檔案: 1. charDef.h 把 TA 的 key mapping 定義拉到外面來 (用 #define) 然後加一層 function "returnCh()" 給 "checkChar()" 裏頭所有的 return, 這樣他們在 return 的時候,如果是 "make ref",就會 map 到我們的 keyboard setting 的值。 2. charDef.cpp 新增了 inline ParseChar returnCh(int ch); 也把所有 checkChar() 中所有 return ... 改成 return returnCh(...) 3. Makefile 新增了 MAKE_REF 這個 flas 給 "make ref" 大家可以選擇去 ceiba 的公告去把這三個檔案重新下載下來, 或是去作業區重新下載 hw2.tgz 已經寫了的同學請注意一下,基本上你的 checkChar() 可以不用改寫, 只是把 return ... 換成 return returnCh(...); 造成不便,敬請見諒。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.160.25.115
OckhamsRazor:教授辛苦了!早點休息吧:) 10/08 01:43
gamerred:謝謝教授!! 這麼晚了還幫忙修作業 10/08 02:37
penlininkshs:教授辛苦了! 10/08 05:15