C++ 和 VB.NET 中的数据类型大小

Data type sizes in C++ and VB.NET

我正在 VB.NET 中开发一个应用程序,该应用程序使用第三方 DLL,其文档适用于 C++。对于数据类型转换,我使用了两个页面:

https://www.tutorialspoint.com/cplusplus/cpp_data_types.htm

https://docs.microsoft.com/en-us/dotnet/visual-basic/language-reference/data-types/

我正在查找 C++ 页面中的大小以及 VB.NET 的等效大小;例如int 在 C++ 中是 4 个字节,所以相应的 VB.NET 将是 INT32 或 Integer.

然而,这给了我意想不到的结果。

然后我注意到 C++ long int 被指定为 8 个字节,值为 -2,147,483,648 到 2,147,483,647 而 VB.NET long 也被指定为 8 个字节,数据类型为 INT64 但值显示为 - 9,223,372,036,854,775,808 到 9,223,372,036,854,775,807。

此外,C++ int(4 字节)和 long(8 字节)的大小不同,但范围相同。

为什么一个 8 字节变量有两个(截然不同的)范围?其中一页有误吗?

检查这个:https://docs.microsoft.com/en-gb/cpp/cpp/data-type-ranges?view=msvc-170 Long 是 4 个字节。 vb.net 页面正确,C++ 页面不正确。