作者jans0204 (jans0204)
看板PLT
标题[实作] J009:Fast or Fuzix' Forth (fforth)
时间Sat Aug 27 00:22:03 2022
J009:Fast or Fuzix' Forth (fforth)
Home Page:
https://cowlark.com/fforth/
下载:fforth-master.zip
https://github.com/davidgiven/fforth
David Given:"It should Just Compile on most Unixy platforms."
可是我想在 windows 用 mingw 编译。
因为我对 forth 算蛮熟的,少几个 primitive word 也不会影响 forth 的运作。
所以采取删减法,把发生编译错误的码 mark out。(不能删除,因可能删错或要回复)
环境:工作目录: R:\_W_\ (RAMDRIVE)
开四个视窗:
1. 档案总管(explorer.exe) 开在工作目录。
2. notepad++ 编修 fforth.c (我习惯用拉的,因为可以拉多个)
3. 右键选单,Open Console2 Here
gcc -DFAST -m32 -O fforth.c -o fforth.exe > make.log 2>&1
4. 滑鼠点 make.log 右键选 NFOPad 查看错误讯息。
(NFOPad 设置为灰底黑字 820x1080,F5 可更新,所以不用关闭。)
然後就是 LOOP -> 2 编修存档 -> 3 (向上箭头)编译 -> 4 查看错误讯息 -> ...
第一轮 把没有的标头档用 "//" mark out
其次把发生错误的 function 用 "#if 0 ... #endif" mark out。
且找出这个 function 是哪个字的呼叫,也是用 "//" 把此字 mark out,
并修正下个字的前向连结 forword link,
这样的 LOOP 一直到 fforth.exe 出现。
我大概经过 5-6 轮就完成编译,没有删除任何一字,也只修改 forward link。
notepad++ 有一个非常好用的插件 compare,可以查看修改前後的差异。
(建议只查看,不要编修存档,一般我都会设两档唯读,以避免无意中存档)
(END)
https://github.com/jans0204/J009-Fast-or-Fuzix-Forth-fforth-
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 124.218.31.163 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/PLT/M.1661530930.A.06D.html