标签: language-binding

在Elixir/Erlang中运行C代码:端口还是NIF?

我发现Elixir程序可以通过NIF(本机实现的功能)OS级别的端口运行C代码.阅读过那些和类似的链接,我不是百分之百地知道何时使用一种或另一种方法(或完全不同的其他方法?),并认为对我自己和其他新手进行直接比较会很好.谁能提供?

c language-binding compare elixir beam

3
推荐指数
1
解决办法
1599
查看次数

扩展“不完整”类型(SWIG)

我正在寻找一种方法来扩展(即使用 %extend 指令向类型添加新成员)在库文件本身中定义的类型,而库的头文件仅提供该类型的前向声明。

将类型视为其定义在编译时已知,会导致以下警告:

Warning 303: %extend defined for an undeclared class [name of the type].
Run Code Online (Sandbox Code Playgroud)

有没有人知道这个问题的解决方案或解决方法?我确定有一个,因为 SWIG 的文档指出 swig 每次找到一个时都假定未知类型是结构体或联合体。

提前谢谢了!

c c++ swig language-binding interface

2
推荐指数
1
解决办法
1747
查看次数

什么最适合编写本机库并使用语言绑定在多种语言中使用它?

哪种语言(C或C++)最适合编写本机库并使用不同语言使用语言绑定(例如,使用JNI或Ruby的C扩展),为什么?

c c++ language-binding cross-platform native-code

1
推荐指数
2
解决办法
220
查看次数

在 C 和我的语言之间创建 FFI

假设我已经实现了一种编程语言(我们现在将其称为A )。A与C非常相似。

我希望我的用户能够访问现有 C 库中的函数和数据结构。这可能吗?如果是的话,一个幼稚的实现会是什么样子?

A

  • 是用C++实现的
  • 编译为机器代码
  • 需要访问闭源C库

c c++ language-binding language-implementation ffi

1
推荐指数
1
解决办法
841
查看次数