【发布时间】:2015-02-09 19:00:07
【问题描述】:
我对 C 的知识/经验非常有限,但我正在尝试创建一个节点插件,它使用带有 C 调用的节点缓冲区,该 C 调用期望缓冲区的类型为“无符号字符 *”,但据我所知节点缓冲区数据方法提供了一个“char*”,因此类型不兼容。例如
这就是使用 c 调用它的方式:
int length = 100;
unsigned char buf[length];
int ret = ftdi_read_data(&ftdic, buf, length);
根据我的阅读,要使用节点缓冲区,您可以执行以下操作:
int length = 100;
node::Buffer *slowBuffer = node::Buffer::New(length);
int ret = ftdi_read_data(&ftdic, node::Buffer::Data(slowBuffer), length);
但是,这在构建时会返回以下错误:
error: invalid conversion from ‘char*’ to ‘unsigned char*’ [-fpermissive]
int ret = ftdi_read_data(&ftdic, node::Buffer::Data(slowBuffer), length);
是否可以创建无符号字符类型的节点缓冲区,或者以其他方式实现?
谢谢
【问题讨论】: