C ++与其他语言互操作

时间:2012-01-01 20:46:06

标签: c++ windows api

是否有一种编写C ++应用程序API的通用方法,以简化与其他语言的互操作?也许类似于使用更高级别的界面描述语言来生成C ++接口以及其他平台的编组代码(.NET,python,...)?

3 个答案:

答案 0 :(得分:2)

有几种选择。

如果要与.net互操作,可以编写C++/CLI包装类。这些允许您编写直接从.net可见的C ++类,并且在它们的实现中可以使用您的本机C ++。

从历史上看,COM也被用于此目的,但现在不太受欢迎。

还有一个名为SWIG的库,它将与Java和其他语言互操作。

修改:使用WinRT components

在Windows 8上看起来会更容易

答案 1 :(得分:1)

SOAP / Web服务/ CORBA?

虽然看起来你认为比那更紧密(即像链接器)耦合。

答案 2 :(得分:0)

另一种可能性是使extern "C"所有公开的API(即使其实现是在C ++中)。