【发布时间】:2009-06-12 09:17:19
【问题描述】:
我正在使用 dllImport 在 C# .NET 中使用 C 库。该库中的一种方法使用数据类型 void* 作为参数。我发现,我可以在 C# 中使用与 void* 匹配的数据类型 IntPtr。
现在我根本不知道如何设置这个 IntPtr 参数的值。事实上,我想在这个参数中放入一个浮点值。我该怎么做?
提前感谢您的任何想法。 西蒙娜
【问题讨论】:
-
您希望浮点值按值传递还是按指针传递?所以'float'或'float *'而不是'void *'?
-
您的问题可以通过三种不同的方式提出。您需要澄清问题以获得正确答案。这三种可能性是:(1)如何制作一个与 32 位浮点数完全相同的 32 位 intptr? (2) 如何制作一个包含浮点数的变量地址的 intptr?或者 (3) 如何获取包含给定变量地址的 intptr,并用给定的浮点数替换该变量的内容?
标签: c# floating-point dllimport intptr