为了提高性能,提高效率等:ctypes.open是否有大量开销?是否应该推迟到使用之前?或者如果我在加载插件时像一堆dll一样打开就可以了吗?
Cu.import('resource://gre/modules/ctypes.jsm');
var lib = {
blah: ctypes.open('blah.dll'),
ctypes.open('blah2.dll'),
ctypes.open('blah3.dll'),
ctypes.open('blah4.dll'),
ctypes.open('blah5.dll'),
ctypes.open('blah6.dll'),
};
for (var l in lib) {
lib[l].close();
}
我们是否也应该推迟函数定义,还是像下面这样轻浮:
var SetForegroundWindow = lib.user32.declare('SetForegroundWindow', ctypes.winapi_abi, ctypes.bool,
ctypes.int32_t
);
谢谢
延迟加载尚未映射到firefox进程的虚拟地址空间中的dll是有意义的。
但是user32.dll是xul.dll的依赖项。
因此,当您ctypes.open('user32.dll')
发生的所有事情都是特定dll的引用计数器增加一时。几乎没有优化的主题(是否为时过早)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句