Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Сабуров С.В. - Язык программирования C и C++ - 2006

.pdf
Скачиваний:
312
Добавлен:
13.08.2013
Размер:
1.42 Mб
Скачать

Справочник по работе с DOS

В следующей таблице перечислены имена библиотек Borland С++, которые доступны только для 16 разрядных приложений DOS.

BIDSH.LIB

Библиотеки классов Borland модели памяти huge.

BIDSDBH.LIB

Диагностическая версия той же библиотеки.

C?.LIB

Библиотеки DOS.

C0F.OBJ

MS совместимые библиотеки запуска.

C0?.OBJ

Библиотеки запуска BC.

EMU.LIB

Эмуляция операций с плавающей точкой.

FP87.LIB

Для программ, работающих на машинах с сопроцессором 80х87.

GRAPHICS.LIB

Графический интерфейс Borland.

MATH?.LIB

Математические подпрограммы.

OVERLAY.LIB

Разработка оверлеев.

Графические подпрограммы

Следующие подпрограммы позволяют создавать экранные графические представления с текстовой частью.

arc (graphics.h)

bar (graphics.h)

bar3d (graphics.h)

circle (graphics.h)

cleardevice (graphics.h)

clearviewport (graphics.h)

237

Справочник по работе с DOS

closgraph (graphics.h)

detectgraph (graphics.h)

drawpoly (graphics.h)

ellipse (graphics.h)

fillellipse (graphics.h)

fillpoly (graphics.h)

floofill (graphics.h)

getfillsettings (graphics.h)

getgraphmode (graphics.h)

getimage (graphics.h)

getfinesettings (graphics.h)

getmaxcolor (graphics.h)

getmaxmode (graphics.h)

getmaxx (graphics.h)

getmaxy (graphics.h)

getmodename (graphics.h)

getmoderange (graphics.h)

getpalette (graphics.h)

getpixel (graphics.h)

gettextsettings (graphics.h)

getviewsettings (graphics.h)

getx (graphics.h)

gety (graphics.h)

graphdefaults (graphics.h)

grapherrormsg (graphics.h)

_graphfreemem (graphics.h)

_graphgetmem (graphics.h)

graphresult (graphics.h)

getarccoords (graphics.h)

getaspectratio (graphics.h)

238

Справочник по работе с DOS

getbkcolor (graphics.h)

getcolor (graphics.h)

getdefaultpallette (graphics.h)

getdrivername (graphics.h)

getfillpattern (graphics.h)

imagesize (graphics.h)

initgraph (graphics.h)

installuserdriver (graphics.h)

installuserfont (graphics.h)

line (graphics.h)

linerel (graphics.h)

lineto (graphics.h)

moverei (graphics.h)

moveto (graphics.h)

outtext (graphics.h)

outtextxy (graphics.h)

pieslice (graphics.h)

pufimage (graphics.h)

pulpixel (graphics.h)

rectangle (graphics.h)

registerbgidriver (graphics.h)

registerbgifont (graphics.h)

restorecrtmode (graphics.h)

sector (graphics.h)

settaffpalette (graphics.h)

setaspectratio (graphics.h)

setbkcolor (graphics.h)

setcolor (graphics.h)

setcursortype (conio.h)

setfillpattern (graphics.h)

239

Справочник по работе с DOS

setfillstyle (graphics.h)

setgraphbufsize (graphics.h)

setgraphmode (graphics.h)

setlinestyle (graphics.h)

setpalette (graphics.h)

setrgbpalette (graphics.h)

settextjunistify (graphics.h)

settexttyle (graphics.h)

setusercharsize (graphics.h)

setviewport (graphics.h)

setvisualpage (graphics.h)

setwritemode (graphics.h)

textheight (graphics.h)

textwidth (graphics.h)

Интерфейсные подпрограммы

Следующие подпрограммы реализуют обращения к средствам DOS, BIOS и специфическим средствам данного компьютера.

absread (dos.h)

abswrite (dos.h)

bioscom (bios.h)

_bios_disk (bios.h)

biosdisk (bios.h)

_bios_keybrd (bios.h)

bioskey (bios.h)

biosprint (dos.h)

_bios_printer (dos.h)

_bios_serialcom (dos.h)

_dos_keep (dos.h)

_dos_freemem (dos.h)

freemem (dos.h)

240

Справочник по работе с DOS

_harderr (dos.h)

harderr (dos.h)

_hardresume (dos.h)

hardresume (dos.h)

_hardretn (dos.h)

hardretn (dos.h)

keep (dos.h)

randbrd (dos.h)

randbwr (dos.h)

Подпрограммы управления памятью

Эти подпрограммы обеспечивают динамическое распределение памяти для моделей данных small и large.

allocmem (dos.h)

_dos_freemem (alloc.h, stdlib.h)

brk (alloc.h)

_dos_setblock (dos.h)

farcoreleft (alloc.h)

farheapcheck (alloc.h)

farheapcheckfree (alloc.h)

coreleft (alloc.h, stdlib.h)

_dos_allocmem (dos.h)

farheapchecknode (alloc.h)

farheapfree (alloc.h)

farheapwalk (alloc.h)

farrealloc (alloc.h)

sbrk (alloc.h)

Разные подпрограммы

Эти подпрограммы предоставляют задержку времени, различные звуковые эффекты и локальные эффекты.

delay (dos.h)

sound (dos.h)

241

Справочник по работе с DOS

● nosound (dos.h)

Глобальные переменные DOS

Ниже приведены глобальные переменные Borland С++, доступные только для 16 разрядных приложений DOS.

_heaplen (dos.h)

Эта переменная содержит длину ближней динамически распределяемой области памяти в малых моделях данных (tiny, small, medium) и описывается следующим образом:

extern unsigned _heaplen;

В моделях small и medium размер сегмента данных вычисляется следующим образом:

сегмент данных [small,medium] = глобальные данные + динамически распределяемая область + стек

где размер стека можно настроить с помощью _stklen.

Если _heaplen установлена в 0 (по умолчанию), то программа выделяет для сегмента данных 64К, и размером динамически распределяемой области будет:

64K — (глобальные данных + стек)

В модели tiny все (включая код) находится в одном и том же сегменте, поэтому размер сегмента данных вычисляется следующим образом (с учетом 256 байт для PSP):

сегмент данных [tiny] = 256 + глобальные данные + динамически распределяемая область + стек

Если в модели tiny _heaplen = 0, то фактический размер динамически распределяемой области вычисляется вычитанием из 64К PSP, кода, глобальных данных и стека.

В моделях compact и large ближней динамически распределяемой области нет, и стек имеет собственный сегмент, поэтому сегмент данных вычисляется так:

сегмент данных [compact, large] = глобальные данные

В модели huge стек находится в отдельном сегменте, и каждый модуль имеет собственный сегмент данных.

_ovrbuffer (dos.h)

Данная переменная изменяет размер оверлейного буфера и имеет следующий синтаксис:

unsigned _ovrbuffer = size;

242

Справочник по работе с DOS

Используемый по умолчанию размер оверлейного буфера равен удвоенному размеру наибольшего оверлея. Для большинства приложений этого достаточно. Однако конкретная функция программы может реализовываться через несколько модулей, каждый из которых является оверлейным. Если общий размер этих модулей больше оверлейного буфера, то при частом вызове модулями друг друга будет происходить дополнительный свопинг.

Решением здесь будет увеличения размера оверлейного буфера, так что в каждый момент времени памяти будет достаточно, чтобы вместить все оверлеи с частыми перекрестными вызовами. Сделать это можно с помощью установки в требуемый размер (в параграфах) глобальной переменной _ovrbuffer в 128К:

unsigned _ovrbuffer = 0x2000;

Для определения оптимального размера оверлейного буфера общего метода не существует.

_stklen (dos.h)

Данная переменная содержит размер стека и имеет следующий синтаксис:

extern unsigned _stklen;

Переменная _stklen определяет размер стека для 6 моделей памяти. Минимально допустимый размер стека — 128 слов. По умолчанию назначается размер 4К.

В моделях данных small и medium сегмент данных вычисляется следующим образом:

сегмент данных [small, medium] = глобальные данных + динамически распределяемая область + стек

где размер динамически распределяемой области можно настроить с помощью _heaplen.

В модели tiny все (включая код) находится в одном и том же сегменте, поэтому размер сегмента данных вычисляется следующим образом (с учетом 256 байт для PSP):

сегмент данных [tiny] = 256 + глобальные данные + динамически распределяемая область + стек

В моделях compact и large ближней динамически распределяемой области нет, и стек имеет собственный сегмент, поэтому сегмент данных вычисляется так:

243

Справочник по работе с DOS

сегмент данных [compact, large] = глобальные данные

В модели huge стек находится в отдельном сегменте, и каждый модуль имеет собственный сегмент данных.

244

Отладчик Turbo Debugger

Отладчик Turbo Debugger

Назначение отладчика

Турбо отладчик Turbo Debugger представляет собой набор инструментальных средств, позволяющий отлаживать программы на уровне исходного текста и предназначенный для программистов, использующих семейство компиляторов Borland. В пакет отладчика входят набор выполняемых файлов, утилит, справочных текстовых файлов и примеров программ.

Turbo Debugger позволяет вам отлаживать программы для Microsoft Windows, Windows NT и DOS. Многочисленные перекрывающие друг друга окна, а также сочетание спускающихся и раскрывающихся меню обеспечивают быстрый, интерактивный пользовательский интерфейс. Интерактивная, контекстно зависимая справочная система обеспечит вас подсказкой на всех стадиях работы. Кроме того, Turbo Debugger полный набор средств отладки:

Вычисление любых выражений языка Си, C++, Pascal и Assemb ler.

Полное управление выполнением программы, включая программную анимацию.

Доступ на нижнем уровне к регистрам процессора и системной памяти.

Полные средства проверки данных.

Развитые возможности задания точек останова и регистрации.

Трассировка сообщений Windows, включая точки останова по сообщениям.

Обратное выполнение.

Поддержка удаленной отладки, в том числе для Windows.

Полная поддержка объектно ориентированного программирования, включая просмотр классов и проверку объектов.

245

Отладчик Turbo Debugger

Макрокоманды в виде последовательности нажатий клавиш, ускоряющие выполнение команд.

Копирование и вставка между окнами и диалогами.

Контекстно зависимые меню.

Возможность отладки больших программ.

Диалоговые окна, позволяющие вам настроить параметры отладчика.

Возможность отладки 16 и 32 разрядных программ Windows (для 32 разрядной отладки имеется отладчик TD32).

Обработка исключительных ситуаций операционной системы, а также С и С++.

Сохранение сеанса.

Поддержка нитей для мультинитевого программирования Windows NT.

Возможность подключения готовых к выполнению в Windows процессов.

Возможность выбора для элементов, выводимых в Turbo Debugger, национального порядка сортировки.

Для работы Turbo Debugger требуются те же аппаратные средства, что и для компилятора языка Borland. Кроме того, Turbo Debugger поддерживает графические адаптеры CGA, EGA, VGA, Hercules (монохромный графический режим), Super VGA и TIGA.

Установка и настройка Turbo Debugger

Программа INSTALL, поставляемая с компилятором Borland, полностью устанавливает пакет Turbo Debugger, включая выполняемые файлы, файлы конфигурации, утилиты, справочные текстовые файлы и примеры программ. Эта установочная программа создает пиктограммы для компилятора Borland и инструментальных средств языка, помещая их в новую программную группу Windows. Полный перечень файлов, инсталлируемых программой INSTALL.EXE, содержится в файле FILELIST.DOC (этот файл копируется программой инсталляции в основной каталог компилятора).

246

Соседние файлы в предмете Программирование на C++