gpt4 book ai didi

ssize_t 的 C# 模拟类型

转载 作者:行者123 更新时间:2023-12-02 14:05:22 25 4
gpt4 key购买 nike

我正在寻找一种 C# 整数数据类型,它可以在 32 位计算机上保存 32 位有符号值,在 64 位计算机上保存 64 位有符号值。
其原因是对接收 ssize_t 参数的 C 函数的 P/Invoke 调用。
我知道我可以针对不同的机器以不同的方式使用预处理器指令来“DllImport”此函数(对于 32 位机器使用 ints ,对于 64 位机器使用 longs ),但这需要我为不同的目标进行 build 和运输,这是非常不可取的。

当然,非常欢迎解决此问题的任何其他解决方案:D

最佳答案

您可以使用IntPtr type :

The IntPtr type is designed to be an integer whose size is platform-specific. That is, an instance of this type is expected to be 32-bits on 32-bit hardware and operating systems, and 64-bits on 64-bit hardware and operating systems.

关于ssize_t 的 C# 模拟类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9619435/

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