[C言語,C++言語]
C言語やC++言語のコンパイラは、現在Microsoftの提供するVisual C++(通常Visual Studioに含まれる)が最も有名で、
市販されているC,C++処理系書籍も、このコンパイラをベースに書かれている場合が多いです。
TRYCUTファミリーもこの環境を利用して構築しています。
しかし、MicrosoftのWindows SDK(旧Platform SDK)のように、
無償で配布されているソフトウェア開発キット(C++コンパイラ含む)もあり、
今回のような開発環境(DLL開発)としては十分用を足します。
その中でも主なものを3つ紹介いたします。
1. Windows SDK(旧Platform SDK)
:Windowsアプリケーション開発者向けコンパイラ
コマンドラインで利用するコンパイラで、新しいWindowsがリリースされる時には、
必ずいち早くこれらの環境に最新のC++のコンパイラが提供されます。
当然ですがWindows x64版のコンパイラもC++だけは真っ先にPlatform SDK側で提供されてきました。
このあたりがCやC++言語を推奨する理由でもあります。リリースされているのは英語版だけです。
インストール後スタートメニューから、
X86やx64のコマンドライン環境を起動し、例えば、
cl /MT /LD trmod.c [Enter]
のように入力すると、コンパイルと同時にtrmod.dllまで作成されます。
未定義エラーなど出力される場合は、
cl /MT /LD trmod.c userd32.lib comdlg32.lib [Enter]
もしくは、
cl /MT /LD trmod.c bufferoverflowu.lib userd32.lib comdlg32.lib [Enter]
のようにライブラリを追加リンクすると正常に作成される場合もあります。
上記例は、コンパイラ(cl)だけでDLLまで作成してしまう例ですが、
一般的にはコンパイラでオブジェクト(.obj)まで作成し、
リンカーでDLLを作成するという手順があります。
cl /c /MT trmod.c [Enter] ← trmod.obj作成
link /DLL user32.lib comdlg32.lib trmod.obj [Enter] ← trmod.dll作成
このほうが一般的ではありますので参考にしてみて下さい。
※さらにマイクロソフトは、GUIを備えた統合開発環境である
Visual Studio Communityも無償公開しています。
これらの環境も本SDKのDLL作成には十分な機能を備えています。色々な開発環境が入っていますが、
インストール時の選択で「C++ によるデスクトップ開発」だけチェックを入れてインストールするだけでも十分です。
(※参考までに、このVisual Studio Communityで、
TRYCUT2000/3000/5000のようなデスクトップのGUIプログラムも開発可能です。)
2. C++ Builder(旧Borland C++)
:旧Borland C++として親しまれてきた歴史あるコンパイラ
無償のトライアル版も配布されている時があります。
3. Min-GW(Minimalist GNU For Windows)
:gccをWin32に移植した環境
http://www.mingw.org/にてダウンロードできる"MinGW-x.x.x.exe"でインストール
すると、インストールフォルダ下のbinの下にコンパイラ(gcc)が格納されます。
手っ取り早くDLLを作成したい場合は、コマンドラインなどで、
c:\MinGw\bin\gcc -c trload.cpp [Enter]
c:\MinGw\bin\dllwrap --dllname=trload.dll trload.o [Enter]
のようにコンパイルすると、trload.dll(trloadのサンプル) が作成されます。この例
はc:\MinGw下にインストールされた場合の例です。
※本SDKでは、これらのコンパイラで作成されたDLLは動作確認済みです。
[Delphi]
Delphi Community Edition (無償)
生産性と高速性を両立させ常に高い評価を得ている開発言語(ツール)です。
以前のバージョンの利用例ですが、手っ取り早くDLLを作成したい場合、
例えばtrmod.dprをどこかのフォルダに保存し、
このtrmod.dprをダブルクリックしてDelphi起動「Ctrl」+「F9」するだけで trmod.dll(trmodのサンプルの例2) が
trmod.dprと同一フォルダに作成されていました。