簡體   English   中英

使用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;
}

可能相關的問題C ++中64位計算機的指針大小是多少?

但這是關於在Visual Studio中編譯為64位項目。 我在cygwin中找不到任何這樣的選項。 如何解釋?

機器或操作系統的“位數”無關緊要。 沒什么區別。

唯一重要的是您要求編譯器生成什么樣的代碼。 在實驗中,您要么要求GCC生成32位代碼,要么它本身默認為32位代碼。 這就是為什么指針為32位寬的原因。

如果要查看64位指針,則必須明確要求GCC生成64位代碼。 在編譯器的命令行中指定-m64

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM