gpt4 book ai didi

c# - IntPtr 是如何编码的?

转载 作者:行者123 更新时间:2023-11-30 20:48:07 27 4
gpt4 key购买 nike

直到最近,我还认为在 P/Invoke 中编码 IntPtr 只会涉及“blitting”操作;即简单地从例如复制指针C++ 到 C#。

然而,我最近与某人交谈时提到,事情远不止于此。他特别提到 IntPtr 编码考虑了字节顺序(即小端或大端)。不过,这对我来说似乎很奇怪:除非我们将指针发送到另一台机器,否则字节顺序肯定无关紧要,天知道你为什么要这样做?

这里的任何人都可以为我提供更多的信息吗?并可能链接到一些资源以供进一步阅读?谢谢。

最佳答案

这是一个直接的 blit,在概念上与 intlong 没有区别。显然在x86下是4字节,x64下是8字节。这里没有魔法。

字节序从来不是 p/invoke 编码的问题。字节序是底层机器的一个属性。您使用与托管代码相同的字节序使用 p/invoke 调用的非托管 DLL,因为它们在同一台机器上运行。

关于c# - IntPtr 是如何编码的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25083236/

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