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