go dll char[]

1000 단어 go

 
이것은 4로 되돌아갑니다. 틀렸습니다.
tcallback((unsigned char*)pFrameRGB->data
 
func callDll() {
    dll := syscall.MustLoadDLL("hik_client.dll")
    callback := syscall.NewCallback(func(r uintptr, size int) (ret uintptr) {


       //var data = make([]byte, size)
       //
       // p := unsafe.Pointer(&r)
       // q := (*[4]byte)(p)
       // copy(data[0:], (*q)[0:])
       p := (*uint8)(unsafe.Pointer(&r))

        //fmt.Printf("value a is %s
",(*uint8)(unsafe.Pointer(&r))) // []byte , C data := make([]uint8, 0) // C char , '\0' for *p != 0 { data = append(data, *p) // byte r += unsafe.Sizeof(byte(0)) // w, char p = (*uint8)(unsafe.Pointer(r)) // , char } //name := string(data) fmt.Printf("from callback1: %d %d
", size, len(data))//,name) return 0 })

좋은 웹페이지 즐겨찾기