![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
DarkWishmaster |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
Пытаюсь скомпилировать:
Програма должна выяснить если существует путь в лабиринте от точки А к Б. COD (Показать/Скрыть)
Пишет что NTVDM нашла недопустимую инструкцию. Погуглил, поискал на форуме, способа решение нашел два : перейти на 32-бит компилятор или сменить ОСь. Но ошибка только в этой програме, пробовал запустить ранее сохраненые, и быстро понаписал "Hello World" и другие мини-програмы, всё работает, тогда причем тут MS-DOS? Сообщение отредактировано: DarkWishmaster - 7.04.2011 17:01 |
![]() ![]() |
TarasBer |
![]()
Сообщение
#2
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
ДОС ни при чём.
Ошибка в твоей программе. Нажми Options->Compiler и поставь там контроль переполнения стека и контроль выхода за пределы массива. Просто у тебя программа из-за ошибки затирает код, и на месте кода получается та самая недопустимая инструкция. Да, в защищённой оси (в том числе в винде) программа не будет молча затирать код, она выдаст ошибку записи (защита памяти на уровне процессора). Но работать всё равно не будет. Так что сначала отладь программу. -------------------- |
DarkWishmaster |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: ![]() ![]() ![]() |
ДОС ни при чём. Ошибка в твоей программе. Нажми Options->Compiler и поставь там контроль переполнения стека и контроль выхода за пределы массива. Просто у тебя программа из-за ошибки затирает код, и на месте кода получается та самая недопустимая инструкция. Да, в защищённой оси (в том числе в винде) программа не будет молча затирать код, она выдаст ошибку записи (защита памяти на уровне процессора). Но работать всё равно не будет. Так что сначала отладь программу. Спасибо! Ошибка было в том что у меня array[1..maxn, 1..maxn] а барьер я заполняю с for i:=0 ... как я этого не заметил... |
![]() ![]() |
![]() |
Текстовая версия | 4.07.2025 14:41 |