我想學習一些C,並且遇到了可能是一個簡單的問題。我試圖編譯一些代碼,其中包含了以下聲明:「int32 undeclared」gcc error
int32 count;
然而,這導致在編譯時錯誤:
test.c:21: error: ‘int32’ undeclared (first use in this function)
有我需要一個特定的時間編譯選項設置爲海灣合作委員會,或將解決這個問題的#include
指令?
p.s.我在Ubuntu Intrepid上運行。
我想學習一些C,並且遇到了可能是一個簡單的問題。我試圖編譯一些代碼,其中包含了以下聲明:「int32 undeclared」gcc error
int32 count;
然而,這導致在編譯時錯誤:
test.c:21: error: ‘int32’ undeclared (first use in this function)
有我需要一個特定的時間編譯選項設置爲海灣合作委員會,或將解決這個問題的#include
指令?
p.s.我在Ubuntu Intrepid上運行。
int32
類型不是標準C - 標準等效爲#include <stdint.h>
並使用int32_t
。
然而,作爲一個POSIX系統,在Ubuntu平原int
是(至少)32位,所以你可以使用它。
'int'的大小取決於您使用的編譯器。對於相同的目標體系結構,不同的編譯器對於'int'可以有不同的大小。這取決於他們如何利用目標功能。例如,運行在Windows上的Turbo C的'int'大小爲2個字節(它是一個DOS可執行文件)。雖然Visual C將'int'的大小設置爲32(win32可執行文件)。
一般來說,'int'的大小由單詞的大小決定。字的大小由 反映1.算術運算的處理大小。 2.通用寄存器的大小。 3.用於指定位置的地址的大小。
但是在你的情況下,你錯誤地使用關鍵字'int32'作爲數據類型。檢查目標機器並修正相應使用的關鍵字。
它是C99中指定的一個新的'typedef',它可以在頭文件'stdint.h'中找到。 – TechZilla 2014-02-22 22:32:51
'int32'不是標準C中的關鍵字。 – 2014-06-19 14:03:45
需要注意的兩件事:1)''是標準的,但它是C99--對gcc不是問題,但可以在其他地方(例如MSVC); 2)POSIX不要求'int'是32位的,並且在那裏有一些Unix不是這樣的。 –
2009-11-05 02:36:36
POSIX允許有四種編程環境作爲默認值(這裏列出:http://opengroup.org/onlinepubs/009695399/utilities/c99.html#tagtcjh_11),所有這些環境都要求「int」至少爲32位。 – caf 2009-11-05 03:45:23
爲了在C++中包含C頭文件'stdint.h',你可以#include' –
2015-03-29 22:45:37