首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是__int32?

什么是__int32?
EN

Stack Overflow用户
提问于 2016-07-14 18:10:03
回答 4查看 3.2K关注 0票数 2

我一直在尝试理解this。这是一个名为W32TIME_STATUS_INFO的结构的参考页面。

代码语言:javascript
复制
 typedef struct {
   unsigned __int32 ulSize;
   unsigned __int32 eLeapIndicator;
   unsigned __int32 nStratum;
   signed __int32 nPollInterval;
   unsigned __int32 refidSource;
   unsigned __int64 qwLastSyncTicks;
   signed __int64 toRootDelay;
   unsigned __int64 tpRootDispersion;
   signed __int32 nClockPrecision;
   [string, unique] wchar_t* wszSource;
   signed __int64 toSysPhaseOffset;
   unsigned __int32 ulLcState;
   unsigned __int32 ulTSFlags;
   unsigned __int32 ulClockRate;
   unsigned __int32 ulNetlogonServiceBits;
   unsigned __int32 eLastSyncResult;
   unsigned __int64 tpTimeLastGoodSync;
   unsigned __int32 cEntries;
   [size_is(cEntries)] PW32TIME_ENTRY pEntries;
 } W32TIME_STATUS_INFO,
  *PW32TIME_STATUS_INFO;

我想在C#代码中使用W32TimeQueryStatus here方法,但我不知道应该如何在C#代码中定义该结构,该方法接受指向该结构的指针作为参数。所有这些__int32__int64是什么?我已经搜索了“双下划线c”之类的,但我找到的所有东西都是非常不具体的。

我可能需要单独询问handle_t参数,所以现在我只想询问如何定义此结构并将其传递给C#中的PInvoked方法。

EN

回答 4

Stack Overflow用户

发布于 2016-07-14 18:16:11

使用google和第一个链接MSDN说:

Microsoft C/C++特性支持大小整型。可以使用__intn类型说明符声明8位、16位、32位或64位整数变量,其中n是8、16、32或64位。

正如您在MSDN上看到的,相当于c#的是System.Int64

票数 6
EN

Stack Overflow用户

发布于 2016-07-14 18:16:58

摘自2003年的C++标准:

每个包含双下划线(_ _)或以下划线开头后跟大写字母(2.11)的名称都保留给实现以供任何使用。

为简化起见,__int32是32位编码的int和64位编码的__int64。消除了标准int类型的大小抽象,这样就可以确定变量将精确地分配4个字节

票数 2
EN

Stack Overflow用户

发布于 2016-07-14 18:24:25

将"unsigned __int32“替换为"Uint32”,对于已签名的__int32,请使用"Int32“。__int64也是如此。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38371369

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档