![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Oo
Форумчанин
Регистрация: 10.10.2009
Сообщений: 350
|
![]()
переписываю программу, получил эксепшн: нельзя читать 0xFFFFFFF
Ошибка появляется при попытке очистить экран с помощью прерывания 10h (Video Service) OS Windows 7 x64 Где мне можно почитать про различия между ДОС и тем, под что я пишу? |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
![]()
DOS это 16-битная программа, предназначенная для режима реальных адресов. Windows работает в защищённом режиме, DOS-программы она запускает на виртуальной машине представленной процессом NTVDM.EXE.
Консольные программы это полноценные 32(64)-битные программы для windows. Отличаются они от других только тем что окон они не создают, а взаимодействуют с пользователем через консоль, с помощью API функций (ReadConsole, WriteConsole и т.д.)
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 16.01.2011
Сообщений: 325
|
![]()
Перейди хотя бы по этой ссылке. http://programmersforum.ru/showthread.php?t=12343
|
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
там помоему еще немного функций специфичных для консоли, но я как то не уверен что они строго для консольного приложения. а вот в коде отличия тут скорее между платформами. в виндовом приложении нет прерываний(по сути они аналог апи), только вызовы АПИ функций. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 05.10.2011
Сообщений: 368
|
![]() Цитата:
в общем, отличаются как небо и земля
Не стоит будить спящего Бога! (с) Меланхолия Харухи Судзумии
|
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
в общем то говоря в ДОС приложении мог быть и 32 битный код(правда не только).
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
IMHO -- основное отличие -- программы DOS используют функции прерываний 10h, 16h, 21h, 33h -- Консольные программы взаимодействуют с пользователем через консоль, с помощью API функций, хотя и здесь можно вызывать графические функции, создавать окна и т.п. теоретически можно обойтись без импорта вызывая некоторые функции API как int 2Eh, а также использовать int 2Ah - KiGetTickCount, int 2Bh - KiCallbackReturn, int 2Ch - KiSetLowWaitHighThread, int 2Dh - KiDebugService
|
![]() |
![]() |
![]() |
#8 |
добрый няша
Старожил
Регистрация: 29.10.2006
Сообщений: 4,804
|
![]()
Mikl___, отличия DOS от Windows не только в API функциях. Есть ещё куча других отличий: SEH, формат исполняемого файла, сегменты, модель памяти, импорты/экпорты, возможность создавать потоки и т.д.
haruhi правильно говорит, отличаются как небо и земля. |
![]() |
![]() |
![]() |
#9 |
Участник клуба
Регистрация: 11.01.2010
Сообщений: 1,139
|
![]()
rpy3uH
Основное отличие -- DOS однозадачная система, а если так, то зачем SEH, потоки и т.д. |
![]() |
![]() |
![]() |
#10 |
Пользователь
Регистрация: 22.02.2010
Сообщений: 71
|
![]()
Под виндой в пользовательском режиме прерывания запрещены. Надобно использовать только API-функции.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
В чем отличия указателя self от this? | romantik2011 | PHP | 3 | 31.07.2011 00:57 |
отличия С# от C++/CLR | dampirik | Общие вопросы .NET | 13 | 14.12.2010 11:27 |
Отличия Си и VBA | std№1211-29-31 | Общие вопросы C/C++ | 2 | 11.04.2010 16:30 |
отличия EXCEPT от UNION | Neymexa | Помощь студентам | 1 | 24.03.2010 19:52 |
Найти отличия | miss | Microsoft Office Excel | 17 | 03.08.2009 05:03 |