【发布时间】:2014-01-31 17:01:30
【问题描述】:
我有一个定义如下的 C 结构:
typedef struct {
unsigned long int a;
} TEST;
我想创建一个与此结构等效的 C#?
有什么帮助吗?让我困惑的是“unsigned long int”至少是 32 位,这是什么意思,它是 32 位、64 位还是 16 位,对吧?
【问题讨论】:
-
依赖平台?你能用
uint64_t替换C代码中的unsigned long int吗? -
我的平台是 64 位的。不,我不能替换它,图书馆已经建成。
-
检查
sizeof(TEST)。 4 -> 32 位,8 -> 64 位。 -
C 类型的大小不取决于“您的系统有多少位”,而是取决于操作系统和编译器约定。例如,windows 64 位上的 long 是 32 位,而在 Linux/Unix 64 位上它是 64 位
标签: c# c++ .net c long-integer