2024-10-16 20:43:58 发布
网友
我还是很烦。毕竟,C也没有完全标准化的ABI,但它可以处理ctypes。为什么C++不能实现同样的任务?你知道吗
我发现这个blog post声称这个问题更具政治性而非技术性,但它是12年前写的。这个说法今天还准确吗?你知道吗
事实上,你可以!(只是不支持ctypes) https://cppyy.readthedocs.io/en/latest/
另一个原因是C++是超级元,最现代的特征依赖于生成代码并重新编译它的模板。所以你只需要处理一个C++代码的子集。你知道吗
事实上,你可以!(只是不支持ctypes) https://cppyy.readthedocs.io/en/latest/
<>但是,为了实现这一点,它实际上嵌入了一个C++解释器,没有太多的性能效益。你知道吗 P>一个原因,C++没有官方的ABI,因为编译器是性能集中的,它们需要跨越函数和类边界来优化。使用不同的设置,您可能会得到不同的接口,即使它具有相同的ABI。一个很好的例子是返回值优化(RVO),它改变函数签名以避免复制大型结构。你知道吗另一个原因是C++是超级元,最现代的特征依赖于生成代码并重新编译它的模板。所以你只需要处理一个C++代码的子集。你知道吗
相关问题 更多 >
编程相关推荐