使用cygwin的64位windows的c++ int指针的大小

Size of int pointer in C++ on 64 bit windows using cygwin

本文关键字:指针 int windows cygwin 64位 使用 c++      更新时间:2023-10-16

我尝试在64位windows 7机器上打印int指针的大小。我在用cygwin。我期望它给出输出8,但实际输出是4。

#include <iostream>
using namespace std;
int main()
{
    cout<< sizeof(int*)<<endl;
    return 0;
}

可能相关的问题64位计算机c++的指针大小是多少?

但是它是关于在Visual Studio中编译为64位项目的。我在cygwin中找不到这样的选项。这是怎么解释的?

机器或操作系统的"位"无关紧要。这没什么区别。

唯一重要的是你要求编译器生成什么样的代码。在您的实验中,您要么要求GCC生成32位代码,要么它自己默认为32位代码。这就是为什么你的指针是32位宽的。

如果您想看到64位指针,您必须显式地要求GCC生成64位代码。在编译器命令行中指定-m64