入手(ダウンロード)するもののリスト
LCC のヘルプ [説明]
Borland 社 borland c++ compiler (bcc 5.5.1) 無料コンパイラ
用意するものはこれだけです。
Return
これだけでは少々世界の狭い感じがするので、他の(無料)のコンパイラについてもいくつか紹介しておきます。
はじめに断っておきます。
MFC
と ATL はついてこないのが通常です。IDE とは、 コンパイラの他、エディタやプログラミングのためのツールなどが整備されている、「統合されたプログラミング用の環境」のことで、プログラムを書くことから、保存してコンパイルするまでがそれ一つで行えるよう整備された、ソフトウェア一般のこと(アプリケーション)です。「リソースコンパイラ」(Resource Compiler) とありますが、ここで紹介するものにはすべてリソースコンパイラがついているようです。リソースコンパイラとはリソーススクリプトをコンパイルするものです。
bcc では、"brc.exe" ( 本当は brcc.exe )にあたり、bcc32 xxx によって xxx をコンパイルしたあと、( xxx.exe ができたとして、) brc yyy.rc xxx.exe のようにします。( こちらもコンパイルです。もちろん (!?) yyy.rc は、ダイアログボックス など に関する「リソーススクリプト」を書きます。ここを読んだせいで、C 言語を書く以外に手間が一つ増えてしまいましたが、書くことが一つ増えてしまったわたくしもまた同じです。これはどの道知ることになることです。ごり押しするならリソーススクリプトを書かなくたってダイアログボックスを出す方法はあります。( CreateDialogIndirect() または DialogBoxIndirect() 関数 ) ですが、正直この関数は扱いが複雑で、これを使うんだったら、リソーススクリプトを書いてみてダイアログボックスや各種のコントロール(リストボックスとかエディットボックスといったアイテムのこと、十数種くらい )のことを知ってから、この関数を使うのが順序であると、いわざるを得ないのです! )リソーススクリプトと例 おっすおらゴクウ
では、紹介をはじめましょう。
(他に述べることもないので 説明は DirectX にかたよりましたが、各コンパイラの相違点として要である、ライブラリ及び中間オブジェクト形式に関しては、Direct X のことを中心に考えるとわかりやすいです。)
Borland C++ Compiler (Not IDE) | bcc32.exe | ||||||||||||||||||||||||||||||||||
C/C++ ,API ; リソースコンパイラ | |||||||||||||||||||||||||||||||||||
http://www.borland.co.jp/ | |||||||||||||||||||||||||||||||||||
※ Direct X プログラムに関しては、手放しではコンパイルできないと考えてください。インポートライブラリの作成 (implib.exe による) に続いて、 インポートライブラリでない他の「中身の詰まった」スタティックライブラリに関して、何らかの方法でこれを用意するか、用意するかわりに一部の関数を自分で作るなどの作業をしなくてはなりません。尚、上記、インポートライブラリも「中身の詰まった〜」も、同じ「スタティックライブラリ」の仲間で、(.lib) のファイルのことを指しています。調べる人は参考にしてください。
Watcom C/C++ and FORTRAN ( IDE! ) | wcl386.exe |
| C/C++ ,FORTRAN , API ( API は現在は可。,on 同サイト) ; リソースコンパイラ
|
| Direct X が大丈夫のようです。また、omf coff 両対応であることからして、今後 Direct X のバージョンがアップされても、Platform SDK の Direct X ライブラリが使えます(未確認:これに Direct X 用ライブラリが含まれない場合 Platform SDK をダウンロードし、利用します。)。※ 特記 : リンカは、 omf , coff の両方に対応しています。Platform SDK の ライブラリ (.lib) がすべて利用可能(Direct X に限らず)ということになります(未確認)。 Digital Mars C/C++ compiler for Win32 (Not IDE) | sc.exe |
|
| C/C++ ,API , MFC & ATL ; インラインアセンブラ ; リソースコンパイラ
| このとりそろえはすごい (調べてみて始めて知って少し驚いたくらいな) ので、なんでフリーコンパイラとして bcc より知名度がない(利用例が少ない)のかが疑問になるくらいですが、Windows API 関数に関して難点がある ( Windows API 関数のインポートライブラリが足りない) のようです。ただし、これは克服できる問題で、同サイトでダウンロードできる @ implib.exe を利用するとか、(ただ、主要な DLL 一つ一つ[将来分かればここにリンクを張るかも]やらないといけないからやはりやっかいかもしれません、また bcc を持っていれば、試してはいませんが理屈としては bcc の ライブラリ (\lib ディレクトリ) をそのまんま利用してしまうことも可能かもしれません )。Windows API 使用時は A GetProcAddress() 関数を使うようにするとか、「有料」で 同社の B COFF2OMF を手に入れて Platform SDK の \lib 内の全ての .lib ファイル(COFF形式) を OMF形式 にして使う ( この COFF2OMF があれば 、sdk に入っている、(COFF) のライブラリを bcc (OMF) で使うこともできてしまう(かもしれない)。bcc の COFF2OMF とは機能が異なる ( bcc のよりお利口 ) ようなのです(未確認)、が有料なのです。確かに価値はある・・・かもしれません。興味のある人はもう少し調べてみてください[coff, omf, implib, coff2omf])、のような解決策があります。※ 補足 説明を読みかえしてみましたが、現実的といえるのはやはり、@の、拝借させてもらう(可能なら)、か、Bということになります。そのほか、少しおもしろいツールが入っているようです。 ※ bcc 同様、Direct X は手放しではできません。 LCC-Win32 ( IDE! ) | lcc.exe |
| C , API ; リソースコンパイラ
|
| C 言語のみ (C++ が使えない) なのがとても残念です。Direct X 可、はじめから付属しているようです。※ LSI C-86 と コンパイラモジュールが同名 (lcc.exe) ですが別物だと思います。 |
UNIX 派生系
※ 利益を目的としないだけあって、説明がいまいちわかりにくく、Windows API に関してはよくわからなかったのですが、リソースコンパイラがついていて API が使えないのでは意味がないはずなのでどうにかなるのだと思います。
MinGW (Not IDE) | GCC.exe | ||||||||||||
C/C++ , Fortran,Java , Pascal , API(?) ; リソースコンパイラ | |||||||||||||
※ C++ のライブラリは作っただけで動作は保証しないそうです! http://mingw.biggie.jp/ (日本語によるサポートするサイト) Cygwin (Not IDE) | GCC.exe |
| 同じ gcc.exe なので省略 ( 同じ gcc 同士の微妙な違いはわかり兼ねます)
|
| ※ これ自体は Windows 上で、 UNIX をエミュレート(再現)するものです。エミュレートとは、ちょうど 旧 MS-DOS を Windows 上で動くように再現する(現に Windows 上では MS-DOS を一つのウィンドウとして利用できます。そしてそれは われわれにとっては Windows 上で 他のアプリケーションと同じように、単なるソフトウェア、アプリケーションを走らせるだけです )、のと同じことです。UNIX の世界では通常 GCC(.exe) というコンパイラが OS (つまり UNIXのこと) に標準装備なので、この Cygwin をインストールすれば、エミュレートされた(模擬された) UNIX OS 上で、 GCC.exe が使えることになることを意味しています。 http://sourceforge.jp/projects/cygwin-je (日本語によるサポートをするサイト) |
(中間)オブジェクト形式に関して。
COFF 形式 | Microsoft ( ここでは紹介してないが Intel コンパイラも ), gcc | |||||||||||||||||||||||||||||||||||
OMF 形式 | Borland, Digital Mars, Watcom |
LSI C-86 試食版 | lcc.exe | |||||||||
略 Light C 体験版 | - |
|
| 略 |
付録情報
Visual C++ Toolkit 2003 ( 2000/XP のみ) | cl.exe | |
C/C++ , MFC なし, リソース不可 | ||
http://homepage1.nifty.com/kazubon/progdoc/poor/vctoolkit.html http://www2.wbs.ne.jp/~dskoba/database/prog.htm マイクロソフトコンパイラ cl.exe が含まれています。 Windows API 使用には Platform SDK から SDK 入手のこと ( == lib ディレクトリにある lib 群に API 関数が入っているという感じ )。 | ||
CINT C/C++ | - | |
Interpreter 。コンパイラではありませんが、コンパイラと並べて説明される、インタープリタ です。インタープリタは、コンパイラして実行ファイルを生成するという方法をとらず、C 言語記述からただちに内容を実行できます。 ただ、Win API が使えるかどうかがよくわかりません。 |
※ bcc コンパイラのバージョン "5.5.1" は、本ホームページ作成時(2004/12)のバージョンです。
戻る