c++ 14/17的模块提案是否可以(容易地)使用其他本地语言来生成模块?
Will modules proposal for C++14/17 make it possible(easy) for other native languages to be used to generate modules?
这听起来可能很奇怪,但是我正在考虑模块提案,并想知道是否有可能例如,在未来Haskell代码可以以c++可以使用的方式暴露(作为模块)(让我们说T in列表)Haskell映射到vector<T>
)。那么,模块是否使这变得容易,可能,或者与当前状态(c++ 11)相比没有任何变化?
这是可能的但我怀疑这会使事情变得更容易。我的理解是,从模块导出的信息的二进制格式将是特定于编译器的,因此它不会提供一个平台上所有编译器共享的通用ABI。使用C作为语言之间的粘合剂的原因是,大多数平台上的C ABI非常简单并且是固定的,因此它不是一个移动的目标。c++实现需要更丰富的ABI(名称混淆格式、异常层次结构、对象布局、虚函数表布局、RTTI表示等),而模块不会改变这些。
相关文章:
- 在执行其他功能的同时播放动画(LED矩阵和Arduino/ESP8266)
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 尝试导入pybind-opencv模块时出现libgtk错误
- 有没有什么方法可以使用一个函数中定义的常量变量,也可以由c++中同一程序中的其他函数使用
- GL_SHADERSTORAGE_BUFFER位置是否与其他着色器位置冲突
- 为什么我不能在 C++ 中的特定函数重载中调用同一函数的任何其他重载?
- 在其他文件中创建类时在 c++ 项目中不起作用
- 类与私有变量的其他类之间的线程安全性
- 将--whole archive链接器选项与CMake和具有其他库依赖项的库一起使用
- GlobalAlloc而不是其他分配方法
- 没有头文件如何使用c ++调用其他模块中的函数?
- 我应该担心动态代码生成与用C++编写的其他模块不匹配吗?
- 如何添加其他CMAKE模块的静态LIB
- 与具有循环依赖关系的 NS3 模块链接到其他库
- 数据库模块摘要(独立于)游戏的其他模块
- 在库中使用 __gcov_flush 不会强制其他模块生成 .gcda 文件
- 使用boost构建NodeJ模块(或任何其他库)
- 从其他进程获取模块句柄
- 通过元编程或其他方式自动注册dll模块中的静态对象工厂
- c++ 14/17的模块提案是否可以(容易地)使用其他本地语言来生成模块?