我需要从 golang 调用一个 C API,它来自一个 dll。 问题是 C func 需要一个缓冲区,如何创建 golang 中的缓冲区,然后我可以将缓冲区传递给 C 函数?
void fooGetString(char* buffer, int buffer length)
最佳答案
像这样的东西应该可以工作:
s := make([]byte, 256)
C.fooGetString((*C.char)(unsafe.Pointer(&s[0])), C.int(len(s)))
关于go - golang 如何创建缓冲区以传递给 C dll 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10260555/