ページへ戻る

− Links

 印刷 

GO のバックアップソース(No.2) :: OSASK計画

osaskwiki:GO のバックアップソース(No.2)

« Prev[4]  Next »[5]
GO計画(じーおーけいかく)、あるいはGO(OSASK向けにハックされたgcc)

--------------------------------

*GO計画(じーおーけいかく)

**概要

-名称:GO計画(じーおーけいかく)
-目的:OSASK版gccを作るためにgccを改造すること(C、C++)
-ライセンス:
--gccソースに由来する部分は[[GPL]]
--付け足したソース部分はKL-01(KawaidoLicense-01)
--バイナリ全体としては[[GPL]](分離が難しいので)

**現在のGOの特徴(go_0004w)
-1.コンパクト
-2.入出力部分が一元化されている
-3.GO自身が参照するライブラリが極めて少ない
-4.win32版とOSASK版がある。

--------------------------------------

*GO FAQ

** win32版gccといえばMinGWがある。MinGW v3.2とgo_0004wの違いは?

 ・MinGWのソースはPOSIX環境版しかない。すなわち、MinGWはたとえば
   cygwin上でしかるべきオプションを付けてgccのソースをコンパイル
   することで生成する。・・・対して、GOはGOのソースをそのままwin
   32上でコンパイルすれば得られる。makeのために他の環境を必要とし
   ない。win32内で完結している。

 ・MinGWよりもコンパクトである
   cpp0.exe     MinGW       93.0KB     --     37.5KB   go_0004w
   cc1.exe      MinGW     2562.0KB     --    852.5KB   go_0004w
   cc1plus.exe  MinGW     3019.5KB     --   1026.0KB   go_0004w
   librarian    MinGW 676.0KB(338+338) --      4.0KB   go_0004w
     機能的にはなんら不足はない(と思う)
     ([[ライブラリアン]] は機能的に不足していますが、とにかくライブラ
       リはちゃんと作れます)
     (MinGWから上記部分だけを交換しても問題なく動くでしょう)

 ・MinGWよりも他のOSに移植するための手間が少ない
   (入出力部分が一元化されているから)
   (参照する [[ライブラリ]] が少ないから)

 ・コンパイル時間表示やマルチバイト文字の拡張性などは削られている
   部分もあります。(MinGWは当然ここを削ってない)
   (逆に言うと、ほとんどの人が使わない&全く使われていないこれら
     の機能を切った分だけ軽くなっているともいえます)
   (MinGWなどではマルチバイト拡張部分を使えばSJISも通るのかもし
     れませんが、誰もそういうパッチを作っていないみたいですね)

--------------------------------

**ファイル類

[http://prdownloads.sourceforge.net/mingw/MinGW-2.0.0-3.exe?download MinGW-2.0.0-3] goのソースをビルドするために使用された([[セルフホスティング]]前の段階では)

--------------------------------

**参考文献
-[OSASK 5194] gcc移植計画. ([[osask_ml:200210/msg00101.html]])
-[OSASK 5401] Re: GO計画. ([[osask_ml:200211/msg00140.html]])
-[OSASK 5565] Re: GO計画. ([[osask_ml:200301/msg00019.html]])

« Prev[4]  Next »[5]