首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ctypes未知错误

Ctypes未知错误
EN

Stack Overflow用户
提问于 2015-11-14 23:41:04
回答 1查看 40关注 0票数 1

在莫兹尔分店,我跑了:

代码语言:javascript
复制
SecSess.Logger.info("ctypes test");
Components.utils.import("resource://gre/modules/ctypes.jsm");
SecSess.Logger.info("1");
this.lib = ctypes.open("libcrypto.so");
SecSess.Logger.info("2");
var a = new Uint8Array(1<<10);  
SecSess.Logger.info("3");
var ptr = new ctypes.uint8_t.ptr(a.buffer);
SecSess.Logger.info("4");

为什么在你可能会问的每一步之后都会出现这种丑陋的日志记录呢?好的,这段代码失败了,没有给我显示错误。(或者至少我找不到错误消息)

这是印刷本:

代码语言:javascript
复制
ctypes test
1
2
3

因此,不会打印第5条日志消息,这意味着以下语句永远不会完成:

代码语言:javascript
复制
var ptr = new ctypes.uint8_t.ptr(a.buffer);

这是一些我必须使用的旧代码的简化版本,我在网上也发现它是有效的。但是它不起作用。这个附加组件不是使用带有jpm的新SDK开发的。坦白地说,我不知道它是如何开发的,是什么时候开发的,但我需要对它进行一些测试。它附带了在组件和模块目录中排序的几个源文件以及根目录中的chrome.manifest和install.rdf。为了使其工作,我将这些文件复制到Mozilla的扩展名目录中。扩展执行,但似乎存在一个问题的ctype。不再完全支持ctype了吗,还是这些旧样式的插件对现代火狐不再有效?

致以敬意,

咆哮

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-15 02:33:33

我想他们找到了一个补丁,不允许用缓冲区做指针。我再查一遍。

编辑:啊,按照这个:ArrayBuffers,您不必用ctypes.uint8_t.ptr包装它,只需将它像a.buffer一样传递到任何需要它的地方。:)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33714691

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档