一尘不染

是否可以用C(不是C ++)编写node.js扩展名?

node.js

快速的Google搜索至少会产生一个教程来为node.js 编写C ++“ Hello
World”
,但是目前尚不清楚是否可以仅使用C编写这样的扩展。假设有可能,我将面临哪些挑战/局限?


阅读 270

收藏
2020-07-07

共1个答案

一尘不染

您可以根据需要用C编写扩展的一部分,但是至少需要一点C ++代码才能将C代码与Node粘合在一起。

正如您在HelloWorld中所看到的那样,扩展依赖于v8.hnode.h标头,其中包含Node期望的所有类。没有这些,您将无法正确创建JS对象以导出回Node。

就是说,您可以很容易地编写只调用C函数的一小部分C ++函数,并包装某种C结构。

2020-07-07