Dmitri |
Отправлено: 11.03.2004, 18:56 |
|
admin@localhost
Группа: Модератор
Сообщений: 110
|
Мистика... на одном компе программа работает, на другом в ходе ее работы происходит Floating point overflow.
Исходник один. Компилятор — CB 5.0, настройки вроде бы одинаковые (стандартные). Другое дело, на втором компе совместно с CB 5.0 стоит MSVC .NET, но разве это может как-то повлиять на работу программы?..
|
|
klen |
Отправлено: 12.03.2004, 01:56 |
|
Машинист паровоза
Группа: Участник
Сообщений: 239
|
Такое может быть легко и не принужденно!
Трудно сказать конкретно что именно у тебя там происходит, но есть соображения.
1. Какой у тебя исходник?? Малоли че у тебя там. Например многие VCL компоненты используют элементы управления Win32, расположенные например в COMMDLG.DLL, эта библиотека обновляется в каждой версии виндов, далее мысь понятна чем это грозит в принципе.
Поэтому посмотри какие dll загружаются и сравни их на двух машинах. Мож обнаружишь че.
2. Если ты линкуешь с пакетами, то на другой машине должныбыть теже пакеты (не путать с пакетами тойже версии, потомучто например некоторые пакеты пересобираются IDE когда ты ставишь какиенибудь компоненты), дальше мысль также ясна, как и то что в принципе как и первом случае должна быть совместимость бинарного кода пересобраного пакета.
3. Самое распространенное (чесно слово, у меня по крайней мере) — код то один, но вот заголовки разные системные или твоиже на этих двух этих машинах. Вот компилятор и генерит по неправильному заголовку неправильную передачу параметров в фунцию, или доступ к полю в классе которого нет на самом деле. В результате эксепшен в лучшем случае.
4. Так как у тебя проблема с плавающей запятой то тут тоже могут быть варианты. Смотри из чего линкуется твоя байда.
5. Curve hands (читай — ошибка в самой программе: на одной машине одна ветка алгоритма выполняется, на другой вторая)
|
|
|