タイトルが混乱している場合は、ごめんなさい。とにかく、私はC++の小さなゲームエンジンで作業しています。私はそれをモジュール化したいと思います。私はそこにコアモジュールを置いておき、2Dグラフィックス、3Dグラフィックス、オーディオ、物理学などを使って他のモジュールをインストールすることができます。私のVSソリューションの別のプロジェクトでは、DLLがコンパイルされているが、コアはlibである。コアlibは、dllで定義できるENGINE_2D_GRAPHICS_MODULE
のようなマクロをチェックすることで、インストールされているモジュールを確認できます。私はこれをどのようにして行い、より良い方法がありますか?私はおそらくもっと良い方法があると確信していますが、それはidkです。マクロを使用してDLLを動的にロードする方法
1
A
答えて
2
マクロはコンパイル時の定数なので、新しいモジュールのインストール時にこのようにコアモジュールに影響を与えることはできません。追加のモジュールがファイルシステムに存在するかどうかを検出し、LoadLibrary(Windowsの場合)またはdlopen(POSIX準拠のシステムの場合)を使用してロードすることをお勧めします。
別のオプションは、ゲーム開発者(つまりエンジンユーザー)にライブラリを静的にリンクさせ、必要な部分のみをコンパイルすることです。
関連する問題
- 1. CSharpCodeProviderを使用して生成されたdllを動的にロード/アンロードする
- 2. C++サードパーティのDLLファイルを動的にロードする方法
- 3. Activator.CreateInstanceFromを使用してDLLをロードする方法
- 4. プラグインメカニズムを使用してランタイム中にデータ型を動的にロードする方法
- 5. Velocityマクロを使用してページコンテンツを動的にレンダリングする
- 6. 別のDLL内でDLLを動的にロードする
- 7. ユーザサービスを使用して角度状態を動的にロードする方法
- 8. C++オブジェクトを動的にロードしてラッパーインターフェイスを使用する方法
- 9. SASマクロを使用して選択したファイルのリストをロードする方法
- 10. ネイティブDLLファイルを動的にロードおよびアンロードする方法は?
- 11. dllの一部としてVC++静的ライブラリにカスタムバイナリリソースをロードする方法は?
- 12. モーダルを動的にロードする方法
- 13. VBAマクロを使用して目的のシートにデータを転送する方法
- 14. ロケールファイルを動的にロードするRequirejsを使用して
- 15. JavaScriptを使用して動的にChoroplethをロードする
- 16. jqueryを使用して動的にページをロードする
- 17. データパターンを使用して、ラジカルとプロパティグリッドを動的にロードする
- 18. 'require'でpromiseを使用してモジュールを動的にロードする
- 19. 動的にjsonを使用してツリーをロードする
- 20. マクロを使用してボタンを作成してマクロを実行する方法
- 21. VBA:ボタンなしでマクロを自動的にトリガーする方法
- 22. URLClassLoaderを使用して動的にJARをロードしますか?
- 23. Systemjを使用した動的ロード、一度にすべてのファイルをロードしない方法は?
- 24. マクロを使用してWordのテキストを自動的に書式設定する方法はありますか?
- 25. 動的にdllをフィットネス器具にロードする
- 26. 私のプログラムにDLLを動的にロードする際の問題
- 27. C++:異なるディレクトリのマニフェストとDLLを動的にロードする
- 28. JavaScriptを使用してデータを動的にする方法
- 29. dllをRAMにロードし、RAMにロードされた別のDLLによってアクセス可能にする方法
- 30. マクロを動的サイズの生データダンプを使用してテーブルとしてフォーマットする
ありがとう!私はおそらくcmakeを使用して、コンパイルするパートをユーザーが選択できるようにします。答えはthxです。 – PlanetVaster