v110コンパイラでビルドされた実行可能ファイルでv90コンパイラでビルドされたCOM dllを使用するのは安全ですか?実行時にv110実行可能ファイルのv90 COM DLLを使用するのは安全ですか?
v90 dllは、実行時にCOMインターフェイス(これは#import
ではありません)によって実行時に使用されます。
実行可能ファイルは、DLLのtlbに対して構築されます。 両方とも静的にMFCにリンクしており、どちらもランタイムライブラリのバージョン/MT
を使用しています。
私の理解は可能ですが、安全ではありません。使用に関するキャビットがあるため(つまり、メモリ割り当てが異なるため、オブジェクトがdllに割り当てられず、実行ファイルで削除されるため、予期しない動作が発生する可能性があります)。
誰かが私のために明確にすることはできますか?
あなたの答えをいただき、ありがとうございます。非常に役に立ちます。したがって、本質的にCOMインターフェイスは、異なる言語とコンパイラがABIルールを壊さない限り、一緒に楽しく働くことを可能にします。あなたはすべてのABI規則へのリンクを持っていますか? – TinyRacoon
(ABI = Application binary interface) – TinyRacoon
はい、これも追加します。 – Niall