gpt4 book ai didi

c++ - node.js 内部 : How can I find out where `process.binding(' eval')` gets defined?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:45:14 27 4
gpt4 key购买 nike

  • 如何找到 node.js 的 C++ 源代码中定义了 JavaScript 对象的位置,我可以通过 process.binding('eval') 访问它? - 在这种特殊情况下,我已经发现它在 /src/node_script.cc 中,但是: 我怎么知道我可以在哪里找到那个模块,当我只是 < strong>看看 /src/ 目录概览?我不想为了查找模块而遍历 /src/ 中的所有文件。
  • 我在哪里可以找到有关 process.binding() 内部结构的一些深入信息?

谢谢。

最佳答案

我今天也在找同样的东西。我不能保证没有更多内容,但这是我发现的。

src/node_extensions.h 包含内置模块列表,定义如下:

ITEM(node_module_name)

其中 module_name 是模块的名称(显然)

您可以通过搜索哪个文件有以

开头的行来找出哪个文件定义了该模块
NODE_MODULE(node_module_name, 

因此,要找到为 process.bindings 定义“evals”模块的文件:

$ grep "NODE_MODULE(node_evals" src/*.cc
src/node_script.cc:NODE_MODULE(node_evals, node::InitEvals)

关于c++ - node.js 内部 : How can I find out where `process.binding(' eval')` gets defined?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12138851/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com