process.dlopen(module, filename[, flags])
历史
版本 | 变化 |
---|---|
v9.0.0 | 添加了对 |
v0.1.16 | 添加于:v0.1.16 |
参数
module
<Object>filename
<string>flags
<os.constants.dlopen> 默认:os.constants.dlopen.RTLD_LAZY
process.dlopen()
方法允许动态加载共享对象。它主要由require()
用于加载 C++ 插件,不应直接使用,除非在特殊情况下。换句话说,
应该优先于 require()
process.dlopen()
,除非有特殊原因,例如自定义 dlopen 标志或从 ES 模块加载。
flags
参数是一个允许指定 dlopen 行为的整数。有关详细信息,请参阅
文档。os.constants.dlopen
调用process.dlopen()
时的一个重要要求是必须传递module
实例。然后可以通过 module.exports
访问由 C++ 插件导出的函数。
下面的示例显示了如何加载名为 local.node
的 C++ 插件,该插件导出 foo
函数。通过传递RTLD_NOW
常量,在调用返回之前加载所有符号。在本例中,假定常数可用。
import { dlopen } from 'node:process'; import { constants } from 'node:os'; import { fileURLToPath } from 'node:url'; const module = { exports: {} }; dlopen(module, fileURLToPath(new URL('local.node', import.meta.url)), constants.dlopen.RTLD_NOW); module.exports.foo();
const { dlopen } = require('node:process'); const { constants } = require('node:os'); const { join } = require('node:path'); const module = { exports: {} }; dlopen(module, join(__dirname, 'local.node'), constants.dlopen.RTLD_NOW); module.exports.foo();
相关用法
- Node.js process.debugPort用法及代码示例
- Node.js process.disconnect()用法及代码示例
- Node.js process.stdin用法及代码示例
- Node.js process.arch()用法及代码示例
- Node.js process.nextTick(callback[, ...args])用法及代码示例
- Node.js process.noDeprecation用法及代码示例
- Node.js process.setUncaughtExceptionCaptureCallback()用法及代码示例
- Node.js process.execPath用法及代码示例
- Node.js process.getgid()用法及代码示例
- Node.js process.setgid(id)用法及代码示例
- Node.js process.chdir(directory)用法及代码示例
- Node.js process.setgid()用法及代码示例
- Node.js process.getuid()用法及代码示例
- Node.js process.ppid用法及代码示例
- Node.js process.report.reportOnSignal用法及代码示例
- Node.js process.report.directory用法及代码示例
- Node.js process.umask(mask)用法及代码示例
- Node.js process.setgroups(groups)用法及代码示例
- Node.js process.emitWarning()用法及代码示例
- Node.js process.setegid(id)用法及代码示例
- Node.js process.getgroups()用法及代码示例
- Node.js process.nextTick()用法及代码示例
- Node.js process.chdir()用法及代码示例
- Node.js process.umask()用法及代码示例
- Node.js process.emitWarning(warning[, options])用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 process.dlopen(module, filename[, flags])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。