アパレル

VC(cl)をコンソールから使った場合のDLLの作成方法

cl /?と打てばコマンドは分かるけど…
どうしてもコンソール上から使いたい人向け。
ちなみに動的リンクは知らないのでほかのページを見てください。

使用コンパイラ

Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 15.00.21022.08 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.


コマンドラインからやる

cl単体でDLLと.libを生成する方法。/LDオプションをつかう。

cl <ソース> /LD

簡単。linkの場合は/DLLオプションを使う。

link /DLL <ソース>

これも簡単。.libファイルとDLL両方が作成されて終了。
あとは使用する側で、ライブラリを取り込んで関数を引き込んで使って終了。

DLLに使用する関数、クラスの作り方

間違っているかもしれないけど、clなら大丈夫(げ

ソース1ヘッダ
使う側
注意すべきは、こんな単純なクラスでもCRT関数ほかでスレッドセーフでないランタイムライブラリを使用した場合
使い方によってはメモリリークを起こすこともある。注意は本家(Microsoft:http://support.microsoft.com/kb/140584/ja)参照

とりあえず基本は上のようなヘッダを定義して、DLLを作成する側はdllexpoertを関数の頭につけて作成しなければならない。
上記、dllimportじゃなくても使えたりする。コンパイラおりこうさん。

参考サイト

http://hp.vector.co.jp/authors/VA023539/tips/dll/006.htm
http://support.microsoft.com/kb/140584/ja



Back

2007/11/15 Gyabo