【发布时间】:2015-06-09 17:24:48
【问题描述】:
我正在使用用 C 语言制作的带有 js-ctypes 的 DLL。
该方法返回一个字符串,但是当我尝试访问指针内容时firefox崩溃了!
以下代码有效:
函数声明:
var getStr = lib.declare("getString",
ctypes.default_abi,
ctypes.char.ptr,
ctypes.int32_t
);
函数调用:
let number = new ctypes.int32_t(1);
var str = getStr(number);
console.log(str.toString());
str.readString();
console.log 输出的:
ctypes.char.ptr(ctypes.UInt64("0x64ff5b48"))
但是这段代码不起作用:
函数声明:
var Core = {
init : function(){
this.lib = ctypes.open("library");
this.getStr = this.lib.declare("getString",
ctypes.default_abi,
ctypes.char.ptr,
ctypes.int32_t);
},
close : function(){
this.lib.close();
}
}
函数调用
Core.init();
var number = new ctypes.int32_t(1);
var result = Core.getStr(number);
console.log(result.toString());
result.readString();
console.log 输出的:
ctypes.char.ptr(ctypes.UInt64("0x64ff5b48"))
同样的事情!
这样 Firefox 就会崩溃。有谁知道如何解决这个问题?我这样做是为了调制插件。
【问题讨论】:
标签: javascript firefox-addon jsctypes