- C++相談室 part120 [転載禁止]©2ch.net
615 :デフォルトの名無しさん[sage]:2015/11/20(金) 05:55:25.20 ID:mKFSoHrL - >>614
ネイティブコードのプラグインを作りたいならdynamiclinkのlibraryを作って決められたディレクトリに入れる それらに対して dlopenで開いてdlsymで関数のアドレス取ってきて実行(WindowsならLoadLibraryとGetProcAddress) 予めinterface(シンボル名とそのinout)を決めておけば読み込んだファイルによって異なる動作をさせることが出来る 例えば画像ファイルプラグインだったら サポートしている形式の拡張子を返す関数 ファイルのバイナリデータを渡すとRGBA32bitの配列と高さ幅を返す関数 とか有れば対応するプラグインを探し出してデコードする事が出来るよね あと、そういうの作るときはC言語互換の関数にした方がいい。理由はC++はコンパイラによってシンボル名もクラスのABIも変わるから。
|
|