ボーランド C++ ビルダー 6 で記述された DLL の古い C++ コードについて助けが必要です。VS2008 または VS2010 で再コンパイルする必要があります。私たちのすべてのテストで、MSVC は borland builder よりも 4 倍以上 (速度に関して) コードを最適化することが示されているため、私たちのソフトウェアには一種のリアルタイム要件があります。私は主にAnsiString、イベント、スレッド、リストのクラスであるstdまたはwin32api関数で多くのVCLコードを書き直したりラップしたりしたので、ほとんどのコードはコンパイルされてうまく動作します...
でも一人ではどうしたらいいのかわからない壁にぶち当たったので、どなたかお力添えをお願いします。
__closure
キーワードをシミュレートできるものをどのように実装できるかわかりません。これは borland c++ ビルダー固有のキーワードであり、プログラマーがメンバー関数への汎用ポインターを使用できるようにします。メンバー関数へのポインターは通常の関数ポインターではなく、member_function_pointer=function_pointer-this
. したがって、__closure
保存する必要がありthis
ますmember_function_pointer
。しかし、これを達成する方法がわかりません。コード内のクラスはお互いを認識していないため、これはどのように可能であり、これは優れたオブジェクト指向プログラミングの原則のすべての原則に違反します。
さびた英語で申し訳ありません:S お時間とご協力ありがとうございます。