開発環境
・Visual Studio 2019
例 オリジナルのヘッダーファイル
C++
1#ifdef HOGE_EXPORTS 2#define DLL_EXPORT __declspec(dllexport) 3#else 4#define DLL_EXPORT __declspec(dllimport) 5#endif 6 7class Test{ 8public: 9 DLL_EXPORT Test() = default; 10 DLL_EXPORT ~Test() = default; 11 12 void Set(int value); 13 DLL_EXPORT int Get(); 14 15private: 16 int m_Value{}; 17};
ソフトを通して出力されたヘッダーファイル
C++
1#ifdef HOGE_EXPORTS 2#define DLL_EXPORT __declspec(dllexport) 3#else 4#define DLL_EXPORT __declspec(dllimport) 5#endif 6 7class Test{ 8public: 9 DLL_EXPORT Test() = default; 10 DLL_EXPORT ~Test() = default; 11 12 // void Set(int value); が無くなっている 13 DLL_EXPORT int Get(); 14};
ゲームのフレームワークをdllファイルとして提供しようとしているのですが、ユーザーが触れると危険な部分を隠蔽したいと思っています。
隠蔽方法としてユーザーが触れても問題ない部分だけ抜き出したヘッダファイルを新たに作り、それをインクルードしてもらおうと思ったのですがいかんせん物量があり、また新たな機能をフレームワークに追加した時に追加分をヘッダファイルに記入しなければいけないので記入し忘れなどが起こりそうで怖いです。
> ユーザーが触れても問題ない部分だけ抜き出したヘッダファイル
順序として,一番最初に生まれる(というか「固まる」というか)のがコレであるような気がする.
(であれば,新たな機能を追加する作業においてもまずこのヘッダから修正が始まるだろうから,漏れるというのも考えにくい)