したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | |

dllmain.cppの役割

1minty:2024/01/14(日) 22:06:49
うつぼかずら様
いつもサイトを大変参考にさせていただいております。vst開発の勉強を初めてしばらく経ち、疑問点が出てきたので質問させていただきます。
スレッドのタイトルにもあります通り、dllmain.cppの役割がいまいち分かりません。ファイルの中身を覗くとdll関係のことが書かれているようですが、これが一体何に作用しているのかさっぱりです。実際、配布されていらっしゃるポリフォニックシンセサイザーのサンプルコード等はこのファイルが無くても特段問題なく動きます。
sdkのドキュメントにもこのファイルに関して特に記載はなく手詰まりの状況となりましたので、ご教授いただけますと幸いです。

2管理人★:2024/01/14(日) 23:02:55
mintyさん

dllmain.cppはあまり気にしなくていいと思います。
dllmain.cppには主に下記の関数がありますが、VSTプラグインでは追加の処理を記載しなくても問題なく動くものがほとんどだと思います。

・DLL用のメイン関数(DllMain関数)
 →DLLにおけるエントリポイント。DLLが読み込まれた際に最初に呼び出されるmain関数のようなもの。
  (デフォルトではほぼ何もしていない。)

・DLL全体の初期化関数(InitDll関数)と終了処理関数(ExitDll関数)
 →DLL全体の初期化と終了処理関数。VSTの各クラスの初期化や終了処理よりも前や後に呼び出される。
  (例えば、各クラスの全インスタンス共通で使う波形の初期化・終了処理や物理デバイスの初期化・終了処理などに使用します。)
 →具体的な処理はmoduleinit.hやmoduleinit.cppに記載。(デフォルトでは何もしていない。)

なお、dllmain.cppについてはおそらく「https://www.utsbox.com/?p=1319」の「必要なソースファイルの追加」の項目で追加しているかと思います。

3minty:2024/01/15(月) 09:30:17
うつぼかずら様

返信ありがとうございます。つまり、DLLを用いないプログラム構成の場合は特に必要のない関数群というわけですね。なんとなく理解できました。

年始の忙しい時期であると思いますが、迅速な回答ありがとうございました!

4管理人★:2024/01/16(火) 00:00:24
mintyさん

DllMain関数や初期化関数・終了処理関数を利用しないなら特に必要はありません。
VSTプラグイン自体はDLLファイルなのでdllmain.cppはプロジェクトに追加しておく必要があります。
(拡張子は.dllから.vst3に変更していますが。)


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板