- 224 名前:デフォルトの名無しさん mailto:sage [2007/07/26(木) 08:34:48 ]
- APIじゃないんだけどWin限定だしMFCじゃないのでここに質問してみる。
ttp://www2s.biglobe.ne.jp/~ragnarok/program/win32/class_of_cpp_in_dll.htm ここを見ながら、簡単なサンプルを作っていろいろ試してみたのだけど、 1. Exportクラスを純粋仮想クラスにした場合、dllexport無しでも正常に動作するっぽい。 (ヘッダはどのみち必要なので、どの関数が存在しているかはわかっている & virtual ついてれば exportされてない関数もちゃんと呼んでくれる) 2. Exportのデストラクタをちゃんとvirtualで宣言しておけば、exe側でdeleteしても dll側のデストラクタおよびdeleteが呼ばれるっぽい。 (virtual無しだとexe側が呼ばれてしまいクラッシュ) という2つの考察結果を得ました。 これがどちらもOKなら、DLL越しにクラス使うのがかなり気楽になるんだけど、 潜在的なトラブルの可能性とかあったら教えてくださいエロい方々。
|

|