0

私は SDK を開発しています。まだ VC++ 6 でコーディングしているクライアントがいますが、Visual Studio 2005 を使用しているクライアントもあれば、2008 を使用しているクライアントもあります。

現在、SDK のいくつかのフレーバーを構築しており、これらの各コンパイラでまったく同じソース コードを構築しています。それが本当に必要かどうかを知りたいです。SDK (DLL の形式をとる) を VS2008 でビルドし、VC++ 6 を使用するクライアントが問題なく使用できることを期待しても安全ですか?

4

3 に答える 3

2

依存します。DLL は、VC ランタイム、MFC、または ATL に依存していますか? その場合、クライアントはそれらの dll を配布する必要があります。dll は C++ 構造体/クラス/関数をエクスポートしますか? C++ には標準化された ABI がないため、他のコンパイラで動作する場合と動作しない場合があります。DLL が extern "C" {} スタイルのみをエクスポートする場合は、問題ありません。

于 2009-09-04T13:08:47.403 に答える
0

DLL に純粋な C API がある場合、実行可能ファイルは DLL によって割り当てられたリソースを解放することはなく (逆も同様)、動作するはずです。

于 2009-09-04T13:18:58.180 に答える
0

クライアントのプログラムが SDK で割り当てられたメモリを削除することを許可しない場合は、かなり安全です。およびその逆。

于 2009-09-04T13:09:57.233 に答える