gpt4 book ai didi

c# - 如何 "fill"具有浮点值的 IntPtr 参数?

转载 作者:行者123 更新时间:2023-11-30 16:36:21 36 4
gpt4 key购买 nike

我正在使用 dllImport 在 C# .NET 中使用 C 库。该库中的一种方法使用数据类型 void* 作为参数。我发现,我可以在 C# 中使用与 void* 匹配的数据类型 IntPtr。

现在我根本不知道如何设置这个 IntPtr 参数的值。事实上,我想将一个浮点值放入此参数中。我该怎么做?

提前感谢任何想法。西蒙妮

最佳答案

如果你可以使用不安全的 block ,这个就可以了:

static IntPtr IntPtrFromFloat( float f )
{
unsafe
{
return (*(IntPtr*)&f);
}
}

它创建一个 IntPtr,其中包含一个等于 float 二进制表示的地址。

也应该可以只将参数声明为 float。反正它是 32 位的 [假设 32 位 C-DLL]。

关于c# - 如何 "fill"具有浮点值的 IntPtr 参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/985777/

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