मैं एक सी फ़ंक्शन को लपेटना चाहता हूं जो char*
को बाइट्स के एक गैर-खाली बफर को इंगित करता है (पहले तत्व)। मैं इसे सीओओ का उपयोग करके एक गो फ़ंक्शन में लपेटने की कोशिश कर रहा हूं ताकि मैं इसे []byte
पास कर सकूं, लेकिन मुझे नहीं पता कि रूपांतरण कैसे करें। सी समारोह के हस्ताक्षर का एक सरलीकृत संस्करण,[] बाइट से चार *
void foo(char const *buf, size_t n);
मैं
C.foo(&b[0], C.size_t(n))
कि संकलन नहीं करता है के साथ टुकड़ा में पहली byte
के लिए सूचक गुजर करने की कोशिश की है, हालांकि:
cannot use &b[0] (type *byte) as type *_Ctype_char in function argument
तो यहां सही प्रक्रिया क्या है? go-wiki केवल विपरीत स्थिति का वर्णन करता है।