【疑难杂症】【GC】Go 程序调用 Windows DLL 的正确姿势是什么?

goroution · · 4326 次点击
func StrPtr(s string) uintptr { ptr, err := syscall.BytePtrFromString(s) if err != nil { fmt.Println(err) } return uintptr(unsafe.Pointer(ptr)) } 你的这个问题是因为Go中字符串的类型结构不是C中的纯[]byte,调用系统专用转换函数syscall.BytePtrFromString 就可以了。这个函数会把string类型先转换成连续的[]byte并返回首指针
#2
更多评论
以上描述及代码都基于 Go 1.7,开发环境分别为 MacBook 和 Windows Server
#1
搞错了,你这个应该是 Goroutine的问题.....
#3