作者ric2k1 (Ric)
看板EE_DSnP
標題[公告] "make ref" 的修正
時間Sat Oct 8 01:38:14 2011
(請見上上一篇關於 "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
1F:推 OckhamsRazor:教授辛苦了!早點休息吧:) 10/08 01:43
2F:推 gamerred:謝謝教授!! 這麼晚了還幫忙修作業 10/08 02:37
3F:推 penlininkshs:教授辛苦了! 10/08 05:15