首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有什么语言可以与C++进行交互吗?

问有什么语言可以与C++进行交互吗?
EN

Stack Overflow用户
提问于 2019-11-07 17:52:33
回答 1查看 497关注 0票数 5

有什么现代语言可以直接与C/C++交互吗?我的意思是,就像Java对Kotlin做的那样。一种可以利用C/C++生态系统而不影响性能的语言。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-07 18:09:20

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

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

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

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

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

我可以使用C++库.

如果库的接口是用C的可互操作子集编写的,那么是的。如果还不存在包装器接口,就可以编写它。

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

外国语接口可能有一些开销,而Java端本身可能会涉及到在本机使用库时不存在的开销。这种开销是否很大,您可以通过测量来确定。例如,我希望它小于套接字通信的开销。

此外,过程间优化可能是不可能的。在这方面,它类似于在本机C或C++中使用共享库。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58754477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档