[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[WitchTech 00768] Re: 現在最強 !? のフリーコンパイラ



bootsです

boots wrote:
> Digital Mars C++ (以前の Symantec C++、その昔は Zortech C++) がフリーで
> 提供されています。

Digial Mars にいくつか質問したところ

 - コンパイルしたプログラムは自由に配布してよい
 - 商用プログラムの開発もどうぞ
 - コンパイラの再配布はできないので、Digital Mars から各自入手してくれ

と返事がきました。

> (付属のOptLinkだとスタートアップルーチン等で__acrtusedを用意してやる必
> 要があります。)

これはリンクできればいいので、次のような空のfar関数がソース中にあればい
いようです。(アンダースコアの数に注意) 

  void far _acrtused(){}

>   CC=sc
>   CFLAGS=-msw -NL -j0 -Bj -a1 -0 -o

OptLink には特に設定不要です。次のような感じですね。
 
  LD=link
  LDFLAG= /MAP /GROUP /DETAILEDMAP /INFORMATION /XREF (このへんなくても
OK)


ちなみに、非常にシンプルな new しない C++ソース(インスタンスは auto や
やグローバルやfileスコープで確保)のコンパイルと実行はできました。

スタックにインスタンスがとられるとつらいので、グローバルにインスタンス
を作るほうがウィッチ向きな気がしますが、グローバルなインスタンスではコ
ンストラクタが呼び出されない(そういうスタートアップルーチンを書けば別
ですが)ので、初期化のメソッドを分離して main() 以降で呼んであげる必要が
あります。
それとリンクのため extern "C" {} の中でウィッチのヘッダファイルを
includeする必要があります。

--
boots


ML Archives