LINUX.ORG.RU

Стерилизатор


0

0

Есть код на С++. Создавался на 32 -х разрядной машине, а теперь его поставили на 64-х разрядную. Сборка проекта идет без проблем, да вот программа вылетает, скорей всего я думаю пробелемы из-за указателей, которые были 4, а стали 8. Подскажите как решить эту проблему.


А как вообще решаются такие проблемы ? Отладкой ясен пень.

anonymuoz
()

Для переносимости на другие платформы я использовал sizeof()..Попоему это железное правило...А вообще можешь кусок кода показать, чтоб яснее стало?

anonymous
()

Где-то в коде неявное предположение sizeof(int)==4 или т.п.
Надо просматривать весь код.
Скорее всего проблема не связана с указателями, т.к. в Си есть правило,
что разность указателей должна влезать в int.

anonymous
()

Битовых масок нет?
100% непереносимо без изгаляций с sizeof()
Также внимательно смотри на операции сдвига,
если таковые имеются.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.