使用cygwin的64位windows的c++ int指针的大小
Size of int pointer in C++ on 64 bit windows using cygwin
我尝试在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
相关文章:
- int数据类型的指针指向的是什么,如果是一个类的私有数据成员,我们创建了该类的两个对象?
- 指针问题:从不兼容的类型"int"分配给"int *"
- 运行时错误:引用绑定到类型为"int"的空指针
- C++:将值 int(例如:0x00AAFAD8)转换为指针(指针本身也是 0x00AAFAD8 值)
- 如何将 int 指针转换为浮点指针
- 使用 int 指针的浮点数的位表示形式
- C++:使用没有位移位的指针将无符号字符转换为无符号 int
- 从类指针到 int 的转换无效
- f 是指向函数的指针,该函数采用 int,并返回指向不带任何内容并返回双精度的函数的指针
- 如何使用静态多态性在 int 和指针类型之间进行转换?
- 为什么当我尝试将char输入到int时,文件指针会卡住
- 类型别名允许分配任意指针,尽管 int* 是必需的
- 为什么 fdump-class-hierarchy 为虚函数提供了两个指针 int vtable
- 双指针 (int**) 和双括号,用于从 2D 数组中获取值
- (C++)通过指针递增,或者:为什么这不起作用?指针->int = 指针->int+1;
- (c++)将int转换为char指针(int是int形式的字符)
- 如何使用指针到指针 (int **) 分配一维数组
- 删除地图中的指针<int,A*>
- 如何将字符串内存地址(如 "7fefe05a8")存储在 C++ 中的指针/int 变量中,以便我可以对其进行位屏蔽?
- 指向包含向量问题的实例类的指针<int>