[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: GCC генерирует неправильный код?



> Виноват ли gcc-4.3.real (Debian 4.3.2-1.1) 4.3.2, или что-то другое? Может
> процессор не видит связи между участками кода и распаралеливает неправильно? У
> меня amd64, возможно проблема в этом, т.к. параметры в функции передаются не
> через стэк, а через регистры.
> 
> Собрал для проверки mingw32 -- работает правильно.
> 

http://en.wikipedia.org/wiki/Size_t
Обратите внимание на то, что
"The actual type of size_t is platform-dependent; a common mistake is to assume
size_t is the same as unsigned int, which can lead to programming errors,[3]
particularly as 64-bit architectures become more prevalent.
According to the 1999 ISO C standard (C99), size_t is an unsigned integer type
of at least 16 bit (see sections 7.17 and 7.18.3)."

Вы же при вводе предполагаете, что size_t - unsigned int, при этом если
переменную не инициализировать, то в ней - мусор, который полностью не
перезаписыватся fscanf'ом.

-- 

С уважением,
	Василий Дьяконов (Fireball)
	mailto:fireball@programist.ru


Reply to: