[OSASK 6660] go_0020.

  こんばんは、川合です。

  go_0020を一般公開しました。

  2ちゃんねるのOSASKスレッドで、366さんがNWSOSでGOを動かしてみて
くれて、どうやらstdc版が無修正で動いたらしいです。もともと「IA-
32用のOS限定でなら、gccをはるかに上回る移植性を実現する」ことが
GOの目的なので、僕としては実に喜ばしい報告です。

  それで気をよくした僕は、今まで保留にしていた改造を一気にやりま
した。

・goモード/gccモードの差を最小にする。
・ライブラリアンを、簡易版ではなくlcclib.exe並みにする。
・stdc版のsjisconvを作る。
・OS依存ドライバを一ヵ所にまとめる。
・naskやgolib00やgas2naskなどの生成を楽にする。
・w32clibcにsystem関数を追加。
・osaskgoでWORKOVERが起きにくくなるようにmalloc増強。
・リンクするのに必要なライブラリ関数を、12個から8個に縮減。
    fopen, fclose, fread, fwrite, fseek, ftell, exit, malloc

  system関数を入れたので、今後はgcc.exeやmake.exeに相当するもの
を僕が作る「可能性」があります。今は、go_0020sのgccモードのソー
スにバグがないか確かめるためだけにMinGWをインストールしていて、
これだけで46.2MBもくっているので、じゃまくさいなあとは思っている
のです。gcc.exeを自作できれば、w32clibcを組み合わせることでMinGW
の代わりになるので(もちろんライブラリは非常に貧弱ではありますが
)、MinGWをアンインストールできます。・・・まあ1年後くらいになる
とは思いますが。

  make.exeについても、前からでかいなあと思っていましたし、win32
版とLinux版とでMakefileの文法を変えなければいけないのは、不便こ
の上ないと思っていました。パスの区切り文字の問題の解消や、いくつ
かの代表的なコマンドについては、make.exe内に内部コマンドを持たせ
て、OSに依存しないMakefileが書ければいいと思っています。・・・こ
れはまあ、たぶんgcc.exeのさらに1年後くらいでしょうか。

  よく考えてみたら、その頃にはもうWindowsをほとんど使わなくなっ
ているかもしれない・・・。その時は、多分作りません(笑)。

  それでは。

--
    川合 秀実(KAWAI Hidemi)
OSASK計画代表 / システム設計開発担当
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/

ML番号でジャンプ
ML単語検索