【发布时间】:2015-04-04 18:12:31
【问题描述】:
假设我已经实现了一种编程语言(我们暂时称它为 A)。 A 与 C 非常相似。
我希望我的用户能够访问现有 C 库中的函数和数据结构。这可能吗?如果是,那么幼稚的实现会是什么样子?
一个
- 用 C++ 实现
- 编译成机器码
- 需要访问闭源 C 库
【问题讨论】:
-
一种天真的方法是从A代码生成C代码
-
@Alex Shesterov:这不是一个选项。首先,因为 A 编译为机器码。其次,因为并非所有库都是开源的。我会更新问题。无论如何感谢您的回复。
-
对于A 支持的每个平台,您都需要一份ABI 副本,并且您需要生成C 链接器可以理解的目标文件。在 SO 中搜索
[c] ABI会发现一些可能感兴趣的线程,例如this post -
@user3386109 感谢您的链接。
标签: c++ c ffi language-implementation language-binding