Баналная проблема

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
DoDo
Сообщения: 1
Зарегистрирован: 31 авг 2004, 09:32
Откуда: Краснодар
Контактная информация:

31 авг 2004, 09:47

PROGRAM exampl_1;

BEGIN
writeln('DoDo');
END.

компилирую в My_first.exe
открываю а он вылетает сразу же.
Аватара пользователя
AiK
Сообщения: 2274
Зарегистрирован: 13 фев 2004, 18:14
Откуда: СПб
Контактная информация:

31 авг 2004, 13:00

Код: Выделить всё

PROGRAM exampl_1; 

BEGIN 
writeln('DoDo'); 
readln;
END. 

Даже самый дурацкий замысел можно воплотить мастерски
Аватара пользователя
Romeo
Сообщения: 3091
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

31 авг 2004, 13:44

Или readkey :)
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
Naeel Maqsudov
Сообщения: 2551
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

01 сен 2004, 09:16

С readkey проблема.
Как только будет добавлен в uses модуль Crt (а readkey находится именно там), то программа начнет вылетать с ошибкой "Деление на 0" на быстрых машинах. Дело в том, что в разделе инициализации в модуле Crt присутствует вычисление размера счетчика для пустого цикла (для выполнения оператора Delay). Там за 1 тик таймера накапливается значение в делителе, на который делится некая коонстанта. На быстрых машинах за 1 тик таймера этот делитель переполняется.
Рулин
Сообщения: 5
Зарегистрирован: 14 сен 2004, 17:50

14 сен 2004, 20:33

Crt модуль можно выправить, заменив пару строчек кода на NOP.
Заменять надо в строке B9 37 00 F7 F1 последние два байта на 90 90
Также лечутся и готовые программы под DOS, где вылет с ошибкой 200 сплошь и рядом.
Ответить