Video Analysis底层库拆分,sdk的go封装
chenshijun
2020-09-09 a3dc3aa4ec63bcc7844bc4ae7a77f992b9fa74dd
c2go.go
@@ -3,6 +3,10 @@
/*
#include <string.h>
#include "csdk_struct.h"
int get_facepos_size(){
   return sizeof(cFacePos);
}
*/
import "C"
import (
@@ -58,3 +62,45 @@
   }
   return
}
// CPlateIDPosArrayToGoArray convert CPlateIDResult array to go
func CPlateIDPosArrayToGoArray(cArray unsafe.Pointer, count int) (goArray []CPlateIDResult) {
   p := uintptr(cArray)
   for i := 0; i < count; i++ {
      j := *(*CPlateIDResult)(unsafe.Pointer(p))
      goArray = append(goArray, j)
      p += unsafe.Sizeof(j)
   }
   return
}
// CPlateIDCloudPosArrayToGoArray convert CPlateIDCloudResult array to go
func CPlateIDCloudPosArrayToGoArray(cArray unsafe.Pointer, count int) (goArray []CPlateIDCloudResult) {
   p := uintptr(cArray)
   for i := 0; i < count; i++ {
      j := *(*CPlateIDCloudResult)(unsafe.Pointer(p))
      goArray = append(goArray, j)
      p += unsafe.Sizeof(j)
   }
   return
}
// CPlateIDCloudPosArrayToGoArray convert CVehicleITSResult array to go
func CVehicleITSPosArrayToGoArray(cArray unsafe.Pointer, count int) (goArray []CVehicleITSResult) {
   p := uintptr(cArray)
   for i := 0; i < count; i++ {
      j := *(*CVehicleITSResult)(unsafe.Pointer(p))
      goArray = append(goArray, j)
      p += unsafe.Sizeof(j)
   }
   return
}