- ベストアンサー
dll の違い
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
VB向けのDLLをVCで作ったことあるけど、 関数の頭に _declspec(dllexport) と __stdcallを付けること。defファイル定義することが必要でした。
関連するQ&A
- DLL の中の関数呼び出し
Windows NT workstation Ver4.0 の上で、ボーランドC++ Ver5 を使って、owl を使ったソフトを作っています。 メーラーを作ろうとして、blatj のソースコードを組み込んでいます。 その中で、gensock.dll を読み込んで、その中の関数を呼び出すところがあるのですが、関数のエイトりーポイントが NULL で返ってきます。 自作した他の DLL については、関数の呼び出しは、 順調なのですが、この gensock.dll については上手くゆかないのです。 そこで、 ボーランドのDLLと、マイクロソフトのDLLでは 呼び出し方にどのような違いがあるのでしょうか? Win API を使ってみても TModule を使ってみても 同じような現象が起きています。 解決方法は gensock.dll のソースコード を使ってボーランドのコンパイラでDLLを作り直す以外には無いのでしょうか?
- ベストアンサー
- C・C++・C#
- リソースのみのDLLの作り方と使い方
複数のJPEGファイルをDLL化して、ダイアログベース(VC++6)のアプリケーション上 で表示したいのですが、DLLってどうやって作成していくのでしょうか?
- ベストアンサー
- C・C++・C#
- DLLの違いについて
MFC AppWizard(dll)で作成したDLLとWin32 Dynamic-Link Libraryで作成したDLLの違いは何でしょうか?客先に「MFCで作ってないんですか?」と聞かれて何が違うのかなと思いまして。不慣れなものですみません。
- ベストアンサー
- C・C++・C#
- C++BuilderやDelphiでVC++用のDLLの作成
C++Builderの画面から新規作成からDLLウィザードを選ぶと、VC++スタイルのDLLを選択して作成できるようになっています。VC++用のDLLを作成出来るとは書かれていません。実際、VC++コンパイラからリンクを拒否されます。 また、VC++用のインポートライブラリをCOFF形式からBorland用のOMF形式に変換するユーティリティCOFF2OMF)は存在していますが、OMF形式をCOFF形式に変換する手法を見かけません。 変換方法を書いているWEBや雑誌記事とかを紹介してください。
- ベストアンサー
- C・C++・C#
- 1つのDLLにソースを1500個ほど追加してビルドを行なったところ..
1つのDLLにソースを1500個ほど追加してビルドを行なったところ vc60.idbが 35MBぐらいになり、以下のようなエラーが表示されてビルドが止まります。 環境:Visual C++ 6.0 x:\xxxx.cpp(19) : fatal error C1073: インクリメンタル コンパイルを伴う内部エラーが発生しました(コンパイラ ファイル '.\main.c', 行番号 629) xxxx.CPP vc60.idb削除すると、エラーが表示されなくなり最後までビルドが行なわれます。 よい知恵などありましたら、よろしくお願いいたします。
- ベストアンサー
- C・C++・C#
- VCで作成したDLLの使用
VCで作成したDLLの使用 VC6.0で作成されたDLLファイルを使いたいのですが _stdcallで記述されたものではなく DllMainで記述されたものなのですが、 VBから呼び出す事は可能でしょうか? 普通にdeclare functionで呼び出そうとすると、 「エントリfnchogeがDLLファイル hoge.dll内に関数が見つかりません。」 とエラーがでるだけでした。 VB6.0SP3 Windows2000
- ベストアンサー
- Visual Basic
- VC2005のDLLのフォーマットについて
VC2005 DLLファイルについて質問です。 巷には、DLLに登録されている関数名とか見れるツールが あるのですが、それらってどうやって作ってるんでしょうか。 DLLのヘッダ情報、ファイル構造など、どこかのサイトで公開 されてるのでしょうか?もし、知ってる方がいらっしゃったら、 興味があるので教えて頂けないでしょうか。
- ベストアンサー
- その他(業務ソフトウェア)
- どっちのDLLのバージョン?
OSはWindowsXP。 コンパイラはVC++6.0 with MFCという環境です。 CTreeCtrl::InsertItemの引数にTVINSERTSTRUCTというのがあり、そのメンバに Version 4.71 itemex という記述がヘルプにあります。 このバージョン4.71の意味がわからず調べたところ、 Comctl32.dll Version 4.71 以上 Windows 98 以降 / Windows 2000 以降 または Internet Explorer 4.0 以降をインストールした Windows 95 / NT 4.0 という環境で動作するというところまでは、わかりました。 そこで、エクスプローラで、Comctl32.dllを探し、右クリックして、バージョン情報のタグを選択すると、詳細-項目で、「ファイルバージョン」と「製品バージョン」の二つのバージョンがあることに気づきました。 この場合、Version4.71以上というのはどちらのバージョンのことを指しているのでしょうか?
- ベストアンサー
- C・C++・C#
お礼
アドバイス有り難うございます。 参考にして変更してみます。 結果は後ほど報告いたします。
補足
LoadLibrary("***.dll"); GetProcAddress( hDll, "########"); を使って読み込めました。 お世話になりました。 ありがとうございます。