1
在使用v110编译器构建的可执行文件中使用由v90编译器构建的COM DLL安全吗?在v110可执行文件中运行v90 COM DLL是否安全?
v90 dll被可执行程序在运行时通过COM接口使用(它不是#import
ed)。
可执行文件针对dll的tlb构建。 都静态链接到MFC,并且都使用运行时库的/MT
版本。
我的理解是可能的,但不安全。由于有关使用的警告(即内存分配不同,所以对象不能在dll中分配并在可执行文件中删除,因为这会导致意外的行为)。
请问有人能为我澄清?
谢谢您的回答。这非常有帮助。所以基本上,COM接口允许不同的语言和编译器一起愉快地工作,只要它们不违反ABI规则。你有链接到所有ABI规则? – TinyRacoon
(ABI =应用程序二进制接口) – TinyRacoon
是的,我也会添加它。 – Niall