![]() |
1. Заголовок или название темы должно быть информативным
2. Все тексты программ должны помещаться в теги [CODE=asm] [/CODE]
3. Прежде чем задавать вопрос, см. "FAQ",если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно, такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Ассемблера. Исключение только с согласия модератора.
5. НЕ используйте форум для личного общения! Все, что не относиться к обсуждению темы - на PM!
6. Проверяйте программы перед тем, как выложить их на форум!!
![]() |
TarasBer |
![]()
Сообщение
#1
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Создаю тут, потому что мне кажется, что это относится к асму.
Я хочу, чтобы это программа вывела на экран NAN. Меня вполне устраивает значение "не число". Неопределённый результат - тоже результат, что такого-то. Но программа вылетает. Причём вылет происходит не в момент вычисления корня, а при выгрузке результата в память. Что надо сделать, чтобы программа не вылетала? (Вариант writeln('NAN') - не предлагать). -------------------- |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Ах, ты о том, что при использовании модуля OpenGL
uses OpenGL; выдает -Inf , а не выбрасывает исключение? Так, это само собой: в секции инициализации модуля OpenGL есть код, который устанавливает маску исключений. Что-то вроде SetExceptionMask((то, что я привел - это из исходников FPC, в Дельфи тоже что-то подобное, но исходников его у меня сейчас нет под рукой). Где TFPUException = ( (а это - уже из модуля Math) Так что не мудрено, что при использовании модуля OpenGL становится возможным деление на 0 (и многое другое). Только вот хорошо ли это? А если у меня написан код, когда я его писал - совершенно логично считал, что любая попытка делить что-либо на 0 закончится выбрасыванием исключения, ловил это исключение в блоке Except, а потом подключил модуль OpenGL, и вся логика улетела в тартарары, ни один блок Except не отработал, зато теперь результат содержит мне на фиг не нужное +/- (Inf). "А?... Это хорошо? Это противно..." (С) А. Райкин, "Дефицит"... |
![]() ![]() |
![]() |
Текстовая версия | 17.06.2024 0:03 |