2014-12-11 2 views
0

C 지식/경험이 매우 제한되어 있지만 버퍼가 'unsigned char *'유형이 될 것으로 예상하는 C 호출로 노드 버퍼를 사용하는 노드 추가 기능을 만들려고합니다. 하지만 내가 볼 수있는 노드 버퍼 데이터 메서드는 'char *'를 제공하므로 형식이 호환되지 않습니다. 예 : 내가 읽은 것을, 당신이 노드의 버퍼를 사용에서 부호없는 문자의 v8 노드 버퍼

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); 

그러나 이것은 반환

그것이 사용하여 C 호출됩니다 어떻게 다음과 같은 오류 메시지가 발생합니다.

error: invalid conversion from ‘char*’ to ‘unsigned char*’ [-fpermissive] 
int ret = ftdi_read_data(&ftdic, node::Buffer::Data(slowBuffer), length); 

부호없는 유형의 노드 버퍼를 만들 수 있습니까? 문자를 사용하거나 다른 방법으로이 작업을 수행 할 수 있습니까? (서명 숯불에 *) 노드 :: 버퍼 :: 데이터 (slowBuffer) :

주셔서 감사 애드온 C 코드에서

답변

3

이런 캐스트를 사용합니다. 이것은 표시된 특정 오류에 대한 일반적인 수정입니다.

+0

도움을 제공해 주셔서 감사합니다. – gratz

관련 문제