作者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