有什么语言可以与C++互操作吗
Any Language to interop with C++?
有什么现代语言可以直接与C/C++进行互操作吗?我的意思是直接像Java对Kotlin所做的那样。一种可以利用C/C++生态系统而不会对性能造成重大影响的语言。
我喜欢C/C++感兴趣的领域,但不喜欢这种语言。
存在C和C++的交集,这是两种语言的子集。在这个子集中编写的函数声明可以从任何一种语言调用。
C是事实上的互操作性语言,除了C++之外,大多数其他支持语言互操作性的高级语言都特别支持C。C以外的语言与C以外的其他语言的交互操作通常通过这两种语言的C接口。
由于C++中对C接口的高度支持,这种互操作性通常也可以在C++中得到利用,但接口仅限于公共子集中的特性。
您特别提到Java。这是一个与C.具有互操作层的语言示例
所有支持通用进程间通信(如套接字(的语言,通常都可以通过该通信与用任何语言编写的其他进程进行互操作。
我可以使用Java中的C++库吗。。。
如果库有一个用C的可互操作子集编写的接口,那么是的。如果包装器接口还不存在,就可以编写它。
。。。并期望具有与C/C++相同的性能?
外语接口可能有一些开销,Java端本身可能涉及在本机使用库时不存在的开销。这种开销是否显著,你可以通过测量来发现。例如,我希望它的开销小于套接字通信的开销。
此外,程序间优化可能是不可能的。在这方面,它类似于在本机C或C++中使用共享库。
相关文章:
- 如何读取 C++ SAFEARRAY**,该 SAFEARRAY** 是 COM 互操作的结果,其中 C# 返回值为
- 编译为 wasm 的 C++ 和 Rust 程序可以以某种方式互操作吗?
- 有什么语言可以与C++互操作吗
- 使 Flutter C/C++ 互操作示例正常工作
- C++互操作(隐式 PInvoke)的限制
- COM 互操作结构定义与内存布局不匹配
- _Complex 和 std::complex 之间的 C/C++ 互操作
- C# COM 服务器互操作 - System.InvalidCastException.
- 从C++与 C 灵活阵列成员互操作的正确方法是什么?
- 如何通过 COM 互操作访问复杂对象的属性?
- 如何区分"QObject"的亲子关系关注点,例如与其他所有者进行互操作?
- DirectWrite GDI 互操作:使用"IDWriteFontFace"绘制文本的简单方法
- opencl openGL互操作内核参数用于读取 写入
- Rust 互操作与 C++ std::string
- 将互操作 HwndSource 包装在 c++/cli 中,以用于本机 c++/MFC 应用程序
- 跨 C# 和 COM 互操作使用对象C++
- 尝试为c++互操作自动生成库时出错
- 在MS Visual Studio 2010上使用带有Cuda互操作的OpenGL缓冲区时出现异常错误
- WinRT 组件内C++类之间的互操作
- 从c#到c++的互操作传递结构