自作クラス集合DLLの作成&利用方法 – プログラミング – Home

自作クラス集合DLLの作成&利用方法
 
通知
すべてクリア

[解決済] 自作クラス集合DLLの作成&利用方法


入澤
 入澤
(@入澤)
ゲスト
結合: 21年前
投稿: 2
Topic starter  

初めて質問させていただきます、入澤と申します。
基本的な質問になるかと思いますが、ご容赦ください。

自作クラスを集めたDLLを作成し、このDLLを他の.exeで
動的にリンクし.exe内で利用したいのですが、可能でしょうか?
検索で以前似たような質問をされている方がいらっしゃったよう
なのですが結論まで至っていないようなので質問させていただきました。
環境はWindows2000上VC++6.0です。

以上、ご回答の程宜しくお願い致します。


引用未解決
トピックタグ
渋木宏明(ひどり)
 渋木宏明(ひどり)
(@渋木宏明(ひどり))
ゲスト
結合: 23年前
投稿: 196
 

可能か不可能かで言えば可能です。
でも、クラスをエクスポートするのはお薦めではありません。

クラスをエクスポートした .dll は C++ でしか再利用できないですし、クラスメンバの
エクスポート名なんかはコンパイラのバージョンによって変わるでしょうから、.exe
と .dll は同じバージョンのコンパイラでビルドしたものを組み合わせることになりま
す。

なら、単純に一緒にビルドしてしまった方が楽だと思います。

あるいは、利用範囲の広いコンポーネントなら COM オブジェクトにすると言うのも手で
す。


返信引用
入澤
 入澤
(@入澤)
ゲスト
結合: 21年前
投稿: 2
Topic starter  

# 可能か不可能かで言えば可能です。
光明が見えた気がします。(苦笑)

# あるいは、利用範囲の広いコンポーネントなら COM オブジェクトにすると言うのも手で
# す。
質問させていただいた背景を申しますと元のプログラムがありその一部を切り出してライブ
ラリ化しようとしているのですが、開発期間が短いので(私的基準で)単純に既存のクラス
をDLLなりSOなりに詰め込んで提供する形で進めています。

渋木宏明(ひどり)様、ご回答ありがとうございました。


返信引用
渋木宏明(ひどり)
 渋木宏明(ひどり)
(@渋木宏明(ひどり))
ゲスト
結合: 23年前
投稿: 196
 

「使うな」とは言いませんが、単純に関数をエクスポートする場合に比べてリスクや制
限が多くなることを、きちんと理解して実践してください。

場合によっては、非常に発見が困難な障害を作り込むことになりかねず、ほとんどの場
合、最終的にそのツケは「運用」で回避するほかありません。

なお、DLL に関する技術情報が

http://www.microsoft.com/japan/msdn/library/default.asp?
url=/japan/msdn/library/ja/vccore/html/_core_DLL_Topics.asp

にあるので、参考にしてみてください。


返信引用
alVa
 alVa
(@alVa)
ゲスト
結合: 23年前
投稿: 9
 

横から失礼します。

> http://www.microsoft.com/japan/msdn/library/default.asp?
url=/japan/msdn/library/ja/vccore/html/_core_DLL_Topics.asp
こちらのサイトでDLLについて読ませて頂いたのですが、上記で言われているCOMオブジェクト
とは、どのようなものでどういった利点があるか教えていただけないでしょうか。


返信引用
渋木宏明(ひどり)
 渋木宏明(ひどり)
(@渋木宏明(ひどり))
ゲスト
結合: 23年前
投稿: 196
 

COM については

http://www.microsoft.com/japan/msdn/library/default.asp?
url=/japan/msdn/library/ja/vccore/html/_atl_Introduction_to_COM.asp

で解説されています。

簡単に言えば、C++ のクラスに相当する仕組みを、プログラミング言語に依存せずに再
利用可能とするための技術です。(もちろん、言語処理系が COM に対応していることは
必要)

VC で書いたコンポーネントを VB で利用することもできるし、その逆も可能です。

また、Delphi や ActivePerl などの言語も COM コンポーネントを扱うことが出来ま
す。


返信引用
alVa
 alVa
(@alVa)
ゲスト
結合: 23年前
投稿: 9
 

親切に概略まで丁寧に説明して頂き、ありがとうございます。
紹介されたサイトを拝見してたいと思います


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました