“int32未声明”gcc错误

时间:2009-08-29 05:31:42

标签: c gcc types

我正在尝试向我学习一些C,并且遇到了可能是一个简单的问题。我正在尝试编译一些包含以下声明的代码:

int32 count;

但是,这会在编译时导致错误:

test.c:21: error: ‘int32’ undeclared (first use in this function)

我需要为gcc设置一个特定的编译时选项,还是一个可以解决这个问题的#include指令?

P.S。我在Ubuntu Intrepid上运行。

2 个答案:

答案 0 :(得分:22)

int32类型不是标准C - 标准等效于#include <stdint.h>并使用int32_t

但是,作为POSIX系统,在Ubuntu上int是(至少)32位,所以你可以使用它。

答案 1 :(得分:-1)

'int'的大小取决于您使用的编译器。对于相同的目标体系结构,不同的编译器可以具有不同的“int”大小。这取决于他们如何利用目标功能。例如,在Windows上运行的Turbo C的“int”大小为2个字节(它是DOS可执行文件)。虽然Visual C将'int'的大小赋予32(win32可执行文件)。

通常,'int'的大小由目标体系结构的单词大小决定。单词的大小反映出来 1.处理算术运算的大小。 2.通用寄存器的大小。 3.用于指定位置的地址大小。

但是在您的情况下,您错误地使用关键字“int32”作为数据类型。检查目标计算机并修复相应使用的关键字。