[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[WitchTech 00768] Re: 現在最強 !? のフリーコンパイラ
- Subject: [WitchTech 00768] Re: 現在最強 !? のフリーコンパイラ
- From: boots <boots@estyle.ne.jp>
- Date: Sun, 01 Apr 2001 22:04:14 +0900
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