おいふぉりーのぶろぐ

きっと趣味のブログに違いないです!!

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告

DLL の中にクラスを入れる方法を調べてみた。

前置きですが。。。boost で色々遊ぶときは Visual C++ 2005 Express Edition、GUI を作るときは Borland C++ Builder 5 を使おうと考えています。なにせ、boost がまともに通るコンパイラって VC++2005 くらいしかないからね。でも、GUI は手軽に C++Builder で作りたいわけ。そこで、アプリケーションのコアとなるような boost を使いまくった部分は VC++2005 で DLL としてコンパイルして、見てくれ側である C++Builder から DLL を呼び出そうと思います。私は、DLL 関連はあんま弄ったことないので情報収集してみました。

DLL に中に COM として入れるってのは、今回はなしってことで。

Google 先生に聞いてみたところ、やねうらおさんのホームページにあったLesson 3.DLL側のクラスを呼び出すが分かりやすかった。この方、BM98作ったスゴイ方です。

まとめ(というより、メモ?)
1. DLL の中にエクスポートしたいクラスの基底となるインターフェースクラスを用意する。呼び出し側からインスタンスを破棄するためのメソッドを持たせる。
2. DLL 側のクラスをインスタンス化するために、Creatorを用意する。Factory デザインパターンを用いるとなお良い。
3. DLL の呼び出し側(メイン側)では、クラスのポインタとして、スマートポインタを使えばクラスの解放忘れがなくなって良さげ。破棄関数を指定できる boost::shared_ptr を使うのが妥当と思われる。(boost::shared_ptr くらいなら C++Builder でも動くでしょ?…動くよな?心配になってきたな。)

最近、久しぶりに、ちょっとしたツールを作ろうと思ってるので楽しくなってきてる今日この頃。やっぱ、 boost っていう個人的に新しいもんに手を出してるから楽しいってのもあるかな。まあ、できたら公開しますよ。時間があれば、数日でできるはずなので。プログラミングに必要なパーツは揃ったって感じかな。
  1. 2006/10/04(水) 06:44:21|
  2. ソフトウェア開発
  3. | トラックバック:0
  4. | コメント:0
<<色々、ニュースとかネタとか。 | ホーム | 続・boost::spirit に弄ばれる日々>>

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック

トラックバックURLはこちら
http://tm86eublog.blog42.fc2.com/tb.php/147-03f7dc77
この記事にトラックバックする(FC2ブログユーザー)

来客数

プロフィール

Euphorie

Author:Euphorie
"おいふぉりー"って呼んでくださいな☆
ハードウェアとかソフトウェアとかの開発に興味があったり。。。
連絡先は上の画像。

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

カテゴリー

ブロとも申請フォーム

この人とブロともになる

ブログ内検索

RSSフィード

リンク

このブログをリンクに追加する

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。