假设我有C代码的源文件和头文件(bus-driver.c和bus-driver.h)我可以从node.js调用其中的函数

例如bus-driver.h

void bus_init(void);
void bus_write(char *buf);

我想从node.js调用这些函数。

最佳答案

nodeffi似乎是最简单的方法。
我没有对其进行测试,因此可能会遇到一些我现在尚未意识到的问题。

但是我建议在tutorial之后执行类似的操作。
安装nodeffi:

如果您没有,请为您的总线驱动程序生成一个库,我们将其称为libbusdriver。

然后在您的JavaScript中执行以下操作:

var ffi = require('ffi');

var libbusdriver = ffi.Library('libbusdriver', {
  'bus_init': [ 'void', [ 'void' ] ],
  'bus_write': [ 'void', [ 'string' ] ],
});
libbusdriver.bus_init();
libbusdriver.bus_write("Hello");

让我知道是否有帮助。

08-25 08:47
查看更多