2

プロジェクトのプロパティでランタイム型情報を有効にして DLL をビルドするソリューションがあります。これは、Visual Studio 2005 のデフォルト (/GR) です。私たちのライブラリにはかなりの数の dynamic_casts があるため、現在、実行時の型情報なしで DLL をビルドすることはできません。

現在、私の顧客は Dassault Systèmes の開発ツールを使用していますが、Run-Time Type Information を使用できないと記載されています。常に無効 (/GR-) です。

問題は、これが問題かどうかです。

この状況を、動的キャストを行う少しのコードで DLL を作成する小さな例で試しました。DLL は、RTTI を有効にしてビルドされています。小さなアプリケーションは DLL を使用し、特に dynamic_casts を含むコードを使用します。このアプリケーションは、RTTI を無効にしてビルドされています。それは正常に動作します。しかし、予測不可能な動作では、何が起こる可能性があります...

RTTI を使用している DLL と RTTI を使用していない DLL を混在させても問題ないことを顧客に伝えたいのですが、詳細な情報を見つけることができませんでした (Google、MSDN などを使用)。誰もこの問題の答えを知っていますか?

4

2 に答える 2