Closed. This question is off-topic。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        5年前关闭。
                                                                                            
                
        
我正在考虑在具有受限C ++编译器的嵌入式(非Windows)系统中使用COM接口,并且我正在寻找使用简单C ++的开源COM实现,尤其是很少使用模板或不使用模板且不使用模板的情况下。异常(是的,我知道COM不使用异常,但是实现可以在内部使用它们)。

在这一点上,我主要是在寻找所有核心COM类型的C ++定义,即IUnknown,IDispatch,VARIANT等,以及一些用于智能指针,BSTR等的帮助程序类。实现QueryInterface和IDispatch的某种程度的支持可能不错,但我我自己也可以做到我想找到一个ITypeInfo实现,而DCOM的嵌入式实现将很有吸引力。

我知道我可以使用Visual Studio随附的Microsoft源代码,但我宁愿避免使用它,因为提取许多不需要的定义很复杂,而且我想避免在非-Windows平台。我也对ATL非常熟悉,由于编译器的限制,我不能使用如此繁重的模板化方法。我在COM和DCOM方面具有丰富的经验,因此我可以自己编写所有定义和帮助程序类,如果需要,甚至可以编写自己的DCOM系统。但是,如果有的话,我宁愿使用现有的开源实现。你有什么建议?

最佳答案

几年前,我正在考虑启动COM / DCOM的FOSS实现,但没有成功,主要是因为我认为开源社区中的任何人都不会觉得这很有趣。有Software AG的专有实现(称为EntireX DCOM),我认为这对您来说不会很有趣。

对于开源项目,除了Samba和Wine实施以及Mozilla中的XPCOM,还有OpenCOM。他们已将其代码发布在SourceForge上。

10-08 04:55