![]() |
|
|
![]()
|
|
| ParaPik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 132 Регистрация: 8.1.2009 Репутация: нет Всего: нет |
Как программа общается с DOS? Через прерывания(и всем это уже давно известо). Но почему C++Builder не дает их нам использовать. Хотя тажа библиотека "iostream" использует низкоуровневые прерывания компьютера. Я начну тему сразу с вопроса: "А как пазрешить использование прерываний в этом компиляторе?"
|
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 11 Всего: 146 |
С++ builder работает в виндовс среде , там своя песня с прерываниями , а для доса надо имхо досовский компилятор там есть хедер вроде как interrupt.h там все есть
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
Смотря для каких целей нужны тебе прерывания.
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| ParaPik |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 132 Регистрация: 8.1.2009 Репутация: нет Всего: нет |
C++Builder переводит весь код в assembler, который переводит в объектный код TASM. Так почему же, если писать для него на чистом assembler, то все в норме(для TASM).
Компилирует Builder без проблем. Но во время исполнения... Ну, а для чего. К примеру, для вывода строки:
__asm {
} Это сообщение отредактировал(а) ParaPik - 9.1.2009, 20:18 |
||||
|
|||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
выводи строку стандартными библиотечными средствами средствами, и не парься по поводу DOS прерываний
-------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
Есть досовские 16 битные исполняемые файлы. Билдер компилирует 32-битные исполняемые файлы, предназначенные для выполнения под Windows. А в Windows нету досовских прерываний. Плоский режим адресации. Доступ к портам ввода-вывода ограничен (после Windows 98 по умолчанию запрещён).
|
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 11 Всего: 146 |
шютник да....
правильно но есть режимы доса и 32 битные компилит но структура виндовая к досу отношение опосредственое -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| 586 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2243 Регистрация: 8.5.2006 Репутация: 57 Всего: 146 |
||||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 11 Всего: 146 |
а дос это не только21 прерывание! а при большом желании можно сделать что и винда будет понимать 21 прерывание -------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| Rififi |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1254 Регистрация: 9.3.2008 Репутация: 1 Всего: 36 |
ParaPik,
Как программа общается с DOS? windows программа - никак. по причине неимения dos. |
|||
|
||||
| ParaPik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 132 Регистрация: 8.1.2009 Репутация: нет Всего: нет |
Ладно. Тогда объясните, как работает, например, класс "ostream". Здесь без прерываний никак. В Builder есть heder-файл "dos.h". Там же есть функция, которой передаешь номер прерывания. Там же есть есть функции для создания новых окон эмулятора DOS. Я еще попробую C++Builder 5.02. Вроде написано, что он поддерживает 16-битные фаилы DOS.
|
|||
|
||||
| ParaPik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 132 Регистрация: 8.1.2009 Репутация: нет Всего: нет |
Установил С++Builder 5.02. Результатов ноль. Он даже, когда видит хотя бы одну строчку кода на ассемблере, вообще выкидывает, что не может найти Tasm32.exe.
|
|||
|
||||
| Romikgy |
|
|||
![]() Любитель-программер ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7326 Регистрация: 11.5.2005 Где: Porto Franco Odes sa Репутация: 11 Всего: 146 |
для какой те цели нужны прерывания?
-------------------- Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. |
|||
|
||||
| ParaPik |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 132 Регистрация: 8.1.2009 Репутация: нет Всего: нет |
Например, для написания собственной библиотеки под DOS.
|
|||
|
||||
| taiven |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 302 Регистрация: 30.6.2008 Репутация: 3 Всего: 9 |
||||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |