初级会员
  • 第 71651 位会员
  • twgh
  • twgh
  • twgh@vip.qq.com
  • 2022-01-18 06:29:37
  • Offline
  • 34 13

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • ``` go mod download github.com/gorilla/mux@latest ```
  • 我有一个调用C++编译的dll的界面库项目, 会接收dll函数传过来的各种类型的数据, 也要传各种值或指针进dll函数. 还有调用windows系统API也是涉及很多数据类型与go进行交互: [https://github.com/twgh/xcgui](https://github.com/twgh/xcgui) ----- 关于你的问题, 应该接收第二个返回值, 而不是第一个: ```go _, r2, _ := syscall.Syscall() ``` ----- 然后用下面的函数去转换r2: ```go //float32的没问题 func UintPtrToFloat32(ptr uintptr) float32 { u := uint32(ptr) return *(*float32)(unsafe.Pointer(&u)) } //float64的我没测试, 想来应该可以 func UintPtrToFloat64(ptr uintptr) float64 { u := uint64(ptr) return *(*float64)(unsafe.Pointer(&u)) } ```