有什么语言可以与C ++互操作?

是否有任何可以直接与C / C ++互操作的现代语言?我的意思是直接像Java一样使用Kotlin。一种可以充分利用C / C ++生态系统而又不影响性能的语言。

我喜欢C / C ++感兴趣的领域,但不喜欢语言。

fatglen 回答:有什么语言可以与C ++互操作?

存在C和C ++的交集,这是两种语言的子集。可以用任何一种语言调用用此子集编写的函数声明。

C是事实上的互操作性语言,除了C ++外,大多数其他支持语言互操作性的高级语言尤其都支持C。而且,除了C之外的其他语言与C之外的其他语言之间的互操作常常通过两种语言的C接口进行。

由于C ++对C接口的高度支持,因此通常也可以在C ++中利用这种互操作性,但是该接口仅限于通用子集中的功能。

您特别提到Java。这是一种与C具有互操作性层的语言的示例。


所有支持常规进程间通信的语言(例如套接字),通常都可以通过该通信与用任何语言编写的其他进程进行互操作。


  

我可以使用Java中的C ++库吗...

如果库具有在C的可互操作子集中编写的接口,则为是。如果还不存在包装器接口,则可以编写。

  

...并期望具有与C / C ++相同的性能?

外语接口可能会有一些开销,而Java端本身可能会涉及本地使用该库时不存在的开销。此开销是否很大,您可以通过测量来找出。我希望它比套接字通信的开销要少。

此外,可能无法进行过程间优化。在这方面类似于在本机C或C ++中使用共享库。

本文链接:https://www.f2er.com/3142605.html

大家都在问