为什么 size_t 的类型在 64 位 Windows 7 中是 uint?
Why the type of size_t is uint in 64-bit Windows 7?
我是编程新手D
。阅读 Fundamental Types 后,我决定检查 64
位 Windows 7 OS 中的 size_t
类型。代码是这样的:
import std.stdio;
void main()
{
writeln("Type: ", size_t.stringof);
writeln("Size: ", size_t.sizeof);
}
执行后输出为:
Type: uint
Size: 4
据我了解,size_t
的类型在 64
位 OS 上应该是 ulong。
谁能提供任何线索?非常感谢!
您的程序的位数不同于 OS 或编译器的位数。
使用 DMD,要创建 64 位可执行文件,请指定 -m64
开关。默认情况下,DMD 将创建与编译器具有相同位数的程序,并且 Windows 包包含一个 32 位编译器。 (如果您愿意,您也可以从源代码构建 64 位编译器,但这不会影响它构建 32 位或 64 位程序的方式。)
我是编程新手D
。阅读 Fundamental Types 后,我决定检查 64
位 Windows 7 OS 中的 size_t
类型。代码是这样的:
import std.stdio;
void main()
{
writeln("Type: ", size_t.stringof);
writeln("Size: ", size_t.sizeof);
}
执行后输出为:
Type: uint
Size: 4
据我了解,size_t
的类型在 64
位 OS 上应该是 ulong。
谁能提供任何线索?非常感谢!
您的程序的位数不同于 OS 或编译器的位数。
使用 DMD,要创建 64 位可执行文件,请指定 -m64
开关。默认情况下,DMD 将创建与编译器具有相同位数的程序,并且 Windows 包包含一个 32 位编译器。 (如果您愿意,您也可以从源代码构建 64 位编译器,但这不会影响它构建 32 位或 64 位程序的方式。)