The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Странная проблема с g++ в x86_64 Linux"
Версия для распечатки Пред. тема | След. тема
Форум Программирование под UNIX
Исходное сообщение [ Отслеживать ]

. "Странная проблема с g++ в x86_64 Linux" +/
Сообщение от homelanemail (ok), 24-Май-07, 16:00 
Спасибо всем! Разобрался.
Добавил в строку g++ к опции '-Wall' дополнительно '-Wextra -Werror'
Поправил код, пересобрал все, что было.
В итоге в выводе появились числа, размер которых не берусь сказать... Очень большие числа, в общем.
Начал копать с gdb и обнаружил-таки где на самом деле оказались грабли.
Есть у меня код, который писался еще в 1996г. Так там в описании одной структуры все целочисленные member-ы были либо long, либо unsigned long. А в функциях новых везде int-ами пользовался или unsigned int-ами. А в x86_64 оказывается, что размер long и long long 8 байт, а int - 4. А под x86 было наоборот, long и int 4 байта, а long long - 8. Я, честно говоря, только сегодня узнал, что так дела обстоят. Везде во всем ранее написанном коде позаменял нафиг все long на int и все сразу заработало как надо. Эх, как говорится, век живи, век учись... :)
Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Странная проблема с g++ в x86_64 Linux, homelan, 23-Май-07, 15:28  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру