2013-06-05 48 views
0

我有期待unsigned char *为PARAMATERS的JavaScript字符串的ctypes为unsigned char

什么是得到一个JavaScript字符串是unsigned char类型的最佳途径*的一个共享的C库?

在我的js文件,我有paramater声明ctypes.unsigned_char.ptr但它不会OWRK只是通过JavaScript字符串中作为参数

这一切的背景下正在做Firefox扩展。这是我的函数声明

var myfunction = mylib.declare("function", 
          ctypes.default_abi, 
          ctypes.int, 
          ctypes.unsigned_char.ptr, 
          ctypes.long); 

其中mylib是var我用ctypes模块加载共享库。

+0

你如何获得javascript数据到c程序? – Magn3s1um

+0

这是一个Firefox扩展,所以我使用ctype模块并加载共享库。 ..将发布一个编辑声明 – Derek

+0

当你说“它不会只是传递JavaScript字符串作为参数”,你是什么意思?虽然JavaScript内部使用UCS-2 *或* UTF-16,但实际上大多数情况下使用UTF-16。将JavaScript的字符串传递给需要普通ASCII码的c库,通过将它们声明为'ctypes.char.ptr',我没有任何问题。有没有一些特定的角色,你试图通过,这是行不通的?你想传递存储在类型数组中的二进制数据吗?你是否收到了一些特定的错误信息?!? –

回答

1

以下should work

  • 声明参数作为ctypes.uint8_t
  • 传递参数为ctypes.uint8_t.ptr(new Uint8Array(...))
相关问题