"int32 undeclared" ошибка gcc - PullRequest
       8

"int32 undeclared" ошибка gcc

7 голосов
/ 29 августа 2009

Я пытаюсь научить меня некоторому Си и столкнулся с тем, что, вероятно, является простой проблемой. Я пытаюсь скомпилировать код, который содержит следующее объявление:

int32 count;

Однако это приводит к ошибке во время компиляции:

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

Есть ли конкретная опция времени компиляции, которую мне нужно установить для gcc, или директива #include, которая решит эту проблему?

p.s. Я работаю на Ubuntu Intrepid.

Ответы [ 2 ]

22 голосов
/ 29 августа 2009

Тип int32 не является стандартным C - стандартным эквивалентом является #include <stdint.h> и используется int32_t.

Однако, как система POSIX, в Ubuntu plain int является (как минимум) 32-битным, так что вы можете просто использовать это.

0 голосов
/ 05 ноября 2009

Размер int зависит от используемого вами компилятора. Для одной и той же целевой архитектуры разные компиляторы могут иметь разные размеры для int. Это зависит от того, как они используют целевые функции. Например, Turbo C, работающий в Windows, имеет размер int в 2 байта (это исполняемый файл DOS). В то время как Visual C дает размер int как 32 (исполняемый файл win32).

Как правило, размер int определяется размером слова в соответствии с целевой архитектурой. Размер слова отражается 1. Обработка размеров арифметических операций. 2. Размер регистров общего назначения. 3. Размер адреса, используемого для обозначения местоположения.

Однако в вашем случае вы неправильно используете ключевое слово «int32» для типа данных. Проверьте целевой компьютер и исправьте соответствующее ключевое слово.

...