我正在使用 js-sctypes 从 Firefox 连接到 Linux 中的共享库。我从库中声明一个函数,如下所示:
var read_memory = libc.declare("read_memory", ctypes.default_abi, ctypes.int,
ctypes.uint32_t, ctypes.char.ptr, ctypes.int, ctypes.int);
在 C++ 库中,该函数声明如下:
read_memory(unsigned int address, char *buf, int unit_size, int unit_count)
我read_memory
通过以下方式调用该函数:
var my = new ctypes.char().address();
read_memory(0, my, 4, 1);
st = st + my.readString();
它工作正常,但是当我使用更大的函数调用函数时unit_size
,unit_count
例如read_memory(0, my, 4, 10)
,Firefox 崩溃了。
是因为ctypes.char
尺寸有限,还是有别的原因造成这个故障?对此问题的任何帮助将不胜感激。
谢谢你。