nodejs如何加载本机插件

How does nodejs load native addons?

本文关键字:本机 插件 加载 何加载 nodejs      更新时间:2023-10-16

我理解节点的本机插件只是操作系统上的共享对象或动态链接库。不过,通常情况下,动态链接的库在加载时进行链接。但在node中,您可以动态地要求()模块。那么这是怎么回事呢?它更像是使用dlopen和函数指针进行动态加载吗?

nodejs支持用其他语言(如C/C++)编写的插件。因此,这些其他语言可以使用所有操作系统设施来动态加载其他DLL,无论是系统DLL还是它们自己的DLL。

如果你想了解更多关于nodejs插件过程的信息,你可以在这里看到:nodejs插件。

内置库支持(如fs模块)也具有相同的功能。

实际上,节点的本机插件是动态加载的。摘自此帖:

C/C++插件只是动态库,Node在libuv中用一个名为uv_dlopen的函数加载这些库。这为在Windows和类Unix系统上加载动态库提供了一个统一的接口。