現在、VC++でDLLを作成し、そのDLLを使ってVBから関数を呼び出しているのですが、DLL開発についてわからないことがあります。
色々調べた結果、DLL作成時にdefファイルが必要である。
ということまではわかっているのですが、
defファイルの記述として行う「序数」がいまいちわかりません。
調べたものによると
「DLLのファイルサイズが小さくなる」
「新しく関数を追加するときは大きな数値を与える」
などが書かれてありました。
いったい序数は何のために(どんなときに)使うものなのでしょうか?
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
序数とはDLLの内部で何番目のエクスポート関数かを表しています。
また、序数によって、DLL内の関数を呼び出すこともできます。
defファイルは記述しなくても問題ないのですが、その場合、__delcspec(export)だけでエクスポートすると自動的に関数の装飾名と序数が付けられます。
DLLを作成した後で関数を追加した場合、旧来の関数の序数が変わってしまう事があり、そうなると、DLLを利用したクライアントをリビルドする必要性が出てきます。
これを防ぐために、序数を明示的に指定してやり、関数を追加しても序数が変わらないようにdefファイルを作成して序数を指定してやります。
こうすることによって、DLLに関数を追加してもDLLを差し替えるだけでクライアントから利用できるようになります。
DLLのビルド時にMAPファイルを作成関数の装飾名などが見れるのですが、関数の装飾名が自動的に付けられた場合、関数名が長くなるのでその分小さくなります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) IT初心者です 仕事で、vb.netで作成されたdllをvbaで呼び出すプログラムを作成しろと言われ 1 2023/03/27 08:22
- フリーソフト cygewf-2.dllがない、と表示され、ダウンロードしたファイルが動作しない 2 2023/03/27 11:05
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- ノートパソコン .dllファイルがありませんと表示される 5 2023/04/30 03:03
- その他(プログラミング・Web制作) pythonのプログラムについての質問です。 1 2023/05/26 10:31
- Windows 10 IT初心者です! powershellで以下のようなエラーが出ました オブジェクト参照がオブジェクト 1 2023/05/17 11:30
- その他(プログラミング・Web制作) pythonのグローバル変数 2 2022/11/25 18:02
- その他(プログラミング・Web制作) pythonをjupiter notebookからmecabで頻出の高い単語の抽出について(Runt 1 2022/12/17 18:08
- Excel(エクセル) Excelを開くとエラーが出る 2 2022/10/03 16:13
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルが開かれているかどう...
-
公文書のxmlファイルの開き方が...
-
binファイルを解凍したいの...
-
コマンドプロンプトで、指定し...
-
jarファイル
-
リンクの張り付けかたを教えて...
-
「ブルーファイル」と「グリー...
-
HTMLからのBATファイル実行
-
アクセス 壊れた? 「ファイ...
-
バッチ処理で追記コピーしたい
-
実行ファイル(.exeファイル)...
-
exeファイルの中身を見る方法は...
-
Seasar2のdiconファイルの読み方
-
参照するファイルをワイルドカ...
-
○○○.zip.001というファイルが開...
-
パイソンでpy ファイルと p...
-
ファイル名にドットを使ったフ...
-
.NETアプリを作ったときの .man...
-
監視ツールを入れさせられまし...
-
C言語---ファイルに出力したデ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
公文書のxmlファイルの開き方が...
-
アクセス 壊れた? 「ファイ...
-
#include <Windows.h>というヘ...
-
iPhoneでXMLファイルを開くには...
-
.NETアプリを作ったときの .man...
-
binファイルを解凍したいの...
-
Latexで図番号だけを「図1.1」...
-
Seasar2のdiconファイルの読み方
-
リンクの張り付けかたを教えて...
-
jarファイル
-
CSSを1ページに1枚作るのって変...
-
エクセルvbaについて
-
バッチ処理で追記コピーしたい
-
exeファイルの中身を見る方法は...
-
コマンドプロンプトで、指定し...
-
実行ファイル(.exeファイル)...
-
参照するファイルをワイルドカ...
-
C言語---ファイルに出力したデ...
-
CRCが一致する確率
-
監視ツールを入れさせられまし...
おすすめ情報