私はプラグイン アーキテクチャを持っています。動的ライブラリで関数を呼び出すとchar*、答えが返され、後の段階で使用されます。
これはプラグイン関数のシグネチャです:
char* execute(ALLOCATION_BEHAVIOR* free_returned_value, unsigned int* length);
ここで、プラグイン (ライブラリ内) は、返されたばかりの文字列をプラグインがどのように割り当てたかを教えてくれALLOCATION_BEHAVIORます。戻り値を解放するために使用する必要があり、メモリリークを取り除くために使用する必要があることを教えてくれます。DO_NOT_FREE_MEFREE_MEDELETE_MEDO_NOT_FREE_MEconst static char*FREE_MEfree()DELETE_MEdelete[]
free()明らかに、私はプラグインを信頼していないので、彼が変数に私に言った場合、実際にそれは本当に解放できるものであることを確認できるようにしたいと思います...これは今日のC/C++テクノロジーを使用して可能ですか? Linux/Windows では?