我如何使用c++中的nodejs库

How can I use a nodejs library from c++?

本文关键字:nodejs 中的 c++ 何使用      更新时间:2023-10-16

我正在使用nodejs并想要运行我在c++中制作的程序,这是可能的吗?到目前为止,我已经找到了如何在nodejs中运行c++库的信息,但没有任何东西允许我在c++中使用nodejs的工具

nodejs是一个独立的执行环境。您可以从命令行将其作为自己的进程运行,它会启动nodejs解释器,然后解释器加载您选择的脚本并运行它。它没有提供将其链接到您自己的c++程序的方法。那么,这里有一些其他类型的选项:

  1. 从你的c++程序中,你可以运行你的nodejs程序作为一个单独的进程与spawn或exec检索任何输出从nodejs程序(说一个输出文件)或让它写到一个通信通道,如stdout,这样你的c++程序可以检索输出。

  2. 从你的c++程序中,你可以启动你的nodejs程序,然后你的nodejs程序可以启动一个服务器(普通套接字服务器,http服务器,套接字)。通过它,c++程序可以向nodejs服务器发送请求,然后检索响应。你只需要让nodejs服务器监听一个预定的端口号,比如8088,然后你的c++程序可以连接到8088端口的本地主机。

  3. nodejs本身有一个插件机制,你可以通过它从nodejs内部调用c++代码。事实上,nodejs运行时的许多部分(比如文件I/O)实际上是用c++实现的,nodejs可以通过这个插件接口调用它们。注意,这并不允许你在c++应用程序中调用任意的nodejs应用程序。这允许nodejs应用程序调用一些在c++中实现的代码。你可以把它想象成nodejs调用一个在DLL中实现的函数,而这个函数恰好是用c++编写的。