gpt4 book ai didi

arrays - 戈朗 : unsafe dynamic byte array

转载 作者:IT王子 更新时间:2023-10-29 01:26:51 25 4
gpt4 key购买 nike

我正在尝试使用 Go 与 Windows dll 进行交互。我要使用的 dll 函数接受一个指向字节数组的指针。因此我需要给它那个字节数组。

我正在使用 syscall调用 dll 的库,如图所示 here .我的基本要求是:

  • 我得到了字节数组所需的大小
  • 我创建字节数组
  • 我必须得到一个指向字节数组的指针
  • 然后我将指针传递给 Windows dll

我不知道如何在 go 中创建字节数组,并获取指向它的指针。这显然是一个不安全的操作,unsafe库可能会有帮助,但我需要首先创建一个动态长度字节数组。使用“make”创建 slice 对我没有帮助,除非我可以获得指向 slice 支持数组的指针。

有没有其他人遇到过这个或有任何想法?

最佳答案

我认为 syscall.ComputerName 实现 https://golang.org/src/syscall/syscall_windows.go#395将是一个很好的例子。它使用 uint16s,而不是字节,否则......

在您的情况下,它将是 ptr := &myslice[0]

亚历克斯

关于arrays - 戈朗 : unsafe dynamic byte array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19721008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com