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])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。
