gpt4 book ai didi

c# - C# 中有长版本的 IntPtr 吗?

转载 作者:太空狗 更新时间:2023-10-29 21:21:13 27 4
gpt4 key购买 nike

我需要 C# 中 C++ 的 ULONG_PTR 的等价物。

This让我紧张。我不能在 32 位应用程序中处理 64 位指针吗?


如果怀疑 XY 问题:我需要 C# 中的 OVERLAPPED 结构。它包含 ULONG_PTR。看起来像这样:

typedef struct _OVERLAPPED
{
ULONG_PTR Internal;
ULONG_PTR InternalHigh;
union
{
struct
{
DWORD Offset;
DWORD OffsetHigh;
} DUMMYSTRUCTNAME;
PVOID Pointer;
} DUMMYUNIONNAME;
HANDLE hEvent;
} OVERLAPPED, *LPOVERLAPPED;

最佳答案

32 位系统中的所有指针都是 32 位的,而 64 位系统中的所有指针本身都是 64 位的。 64 位可以为需要 32 位的遗留应用程序模拟 32 位指针。

在 32 位系统中,您不能拥有 64 位指针。如果可以,64 位系统有什么用:)

您可以对遇到的任何指针使用 System.IntPtr

关于c# - C# 中有长版本的 IntPtr 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23007047/

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