Реферат: Turbo C++ Programer`s guide
Реферат: Turbo C++ Programer`s guide
TURBO C++
Version 1.0
Programmer's Guide
Оглавление
Введение................................................... Содержание
данного руководства............................
Глава 1 Стандарт
языка Turbo C++...................
Синтаксис и
терминология..................................
Грамматические
правила структуры фраз и лексики языка.....
Пробельные
символы........................................
"Склеивание" строк символом \...........................
Комментарии...............................................
Комментарии
C...........................................
Вложенные
комментарии...................................
Комментарии
C++.........................................
Разделители комментариев и пробелы......................
Лексемы...................................................
Ключевые
слова..........................................
Идентификаторы..........................................
Константы...............................................
Константы и их внутреннее представление................. Описание
операций.........................................
Унарные операции ...................................... Бинарные
операции....................................... Пунктуаторы
..........................................
Объявления................................................
Объекты .............................................. Именующие выражения
(Lvalues) ........................ Типы и классы памяти
................................. Контекст
.............................................
Видимость...............................................
Продолжительность....................................... Единицы трансляции
..................................... Компоновка
.............................................
Синтаксис
объявления...................................... Предварительные определения
.......................... Возможные объявления
................................. Внешние объявления и определения
..................... Спецификаторы типа .....................................
Таксономия типа ...................................... Фундаментальные типы
.................................
Инициализация........................................... Простые
объявления...................................... Спецификаторы класса
памяти.............................
Модификаторы............................................ Сложные объявления и
деклараторы........................
Указатели.................................................
Указатели
объектов......................................
Указатели функций....................................... Объявления
указателей ................................ Указатели и константы
................................ Арифметические операции с указателями
................ Преобразования указателей...............................
Объявления ссылок в С++ ..............................
Массивы ................................................
Функции...................................................
Объявления и определения ............................. Объявления и
прототипы ............................... Объявления
............................................. Объявления формальных параметров
..................... Вызовы функций и преобразования аргументов .............
Структуры.................................................
Структуры без тегов и определения типов (typedef)....... Объявления компонентов
структуры ..................... Структуры и функции ..................................
Доступ к компоненту структуры ........................ Выравнивание по границе
слова ........................ Пространство имен структур
............................. Неполные объявления
.................................. Битовые поля
.........................................
Объединения...............................................
Объявления объединений ................................
Перечислимые
данные.......................................
Выражения.................................................
Выражения и Turbo C++ ................................ Последовательность
вычислений ........................ Ошибки и переполнения
................................
Семантика
операций........................................
Постфиксные и префиксные операции....................... Операции
инкремента и декремента ..................... Унарные операции
..................................... Операция sizeof
..................................... Операции типа умножения ..............................
Операции типа сложения ............................... Операции поразрядного
сдвига ......................... Операции отношения
..................................... Операции типа равенства
.............................. Операция поразрядного И &
............................. Операция поразрядного исключающего ИЛИ
^............... Операция поразрядного включающего ИЛИ \!...............
Операция логического И &&.............................. Операция
логического ИЛИ \!\!.......................... Условная операция
?:.................................... Операции присвоения
.................................. Операция с
запятой......................................
Операторы.................................................
Блоки ................................................ Операторы-с-метками
.................................. Операторы-выражения
.................................. Операторы выбора
..................................... Операторы итерации
..................................... Операторы перехода
.....................................
С++.......................................................
Ссылки ............................................... Операция доступа к
контексту ......................... Операции new и delete ................................
Классы ............................................... Виртуальные базовые
классы ............................. "Друзья" классов
(friend)............................... Конструкторы и деструкторы
............................. Конструкторы
......................................... Деструкторы
.......................................... Перегруженные операции
............................... Операции-функции
...................................... Виртуальные
функции..................................... Абстрактные классы
..................................... Контекст С++
.........................................
Директивы
препроцессора Turbo C++.........................
Пустая
директива # .....................................
Директивы #define и #undef ............................. Включение файлов
директивой #include ................. Условная компиляция
.................................. Директива управления нумерацией строк #line
.......... Директива #error ..................................... Директива
#pragma....................................... Предопределенные макросы
.............................
Глава 2. Перекрестные ссылки по библиотеке исполняющей
системы................................................... Зачем нужен доступ к
исходным кодам библиотеки исполняющей
системы.................................................. Файлы заголовка
Turbo C++................................. Категории библиотечных
подпрограмм........................
Глава 3 Потоки
С++..................................
Новые потоки
вместо старых................................
Использование потоков
2.0................................. Что такое поток?
...................................... Библиотека iostream
.................................... Четыре стандартных потока
............................. Вывод
................................................
Ввод.................................................... Инициализация потоков
................................. Простой ввод/вывод в файл
............................. Состояния ошибки потока
ввода/вывода....................
Использование
потоков прошлых версий......................
Рекомендации по переходу к потокам версии 2.0............. Глава 4
Модели памяти, операции с плавающей точкой и
оверлеи...................................................
Модели
памяти.............................................
Регистры
8086...........................................
Сегментация
памяти......................................
Указатели...............................................
Шесть моделей памяти.................................... Программирование
с использованием различных моделей памяти
адресные
модификаторы...................................
Объявление ближних или дальних функций ................ Объявление
указателей near, far или huge................ Использование библиотечных
файлов....................... Компоновка смешанных модулей
..........................
Опции типа чисел с плавающей
точкой....................... Эмулирование платы 80х87................................
Получение кода только для машин с 80х87 ............... Получение кода без
операций с плавающей точкой ........ Опция быстрых вычислений с плавающей
точкой ........... Переменная операционной среды 87........................ Регистры
и 80х87 ......................................
Математические
операции с комплексными числами............
Использование двоично-десятичной (BCD) математики....... Использование
оперативной памяти Turbo C++................ Оверлеи (VROOMM)..........................................
Работа
программ с оверлеями.............................
Требования..............................................
Использование
оверлеев .................................
Разработка программ с перекрытиями...................... Свопинг
............................................... Дополнительная память
(EMS)............................. Расширенная память
(Ext)................................
Глава 5 Видео
функции.......................
Несколько
слов о видео режимах............................ Несколько слов о текстовых и
графических окнах............
Что такое окно ? ..................................... Что такое
графическое окно ? ..........................
Координаты..............................................
Программирование в текстовом
режиме....................... Функции консольного ввода/вывода
....................... Текстовые
окна.......................................... Тип
text_mode........................................... Цвета текста ..........................................
Высокоскоростной вывод: переменная directvideo .........
Программирование
в графическом режиме.....................
Функции
библиотеки graphics.............................
Управление цветом на CGA................................ Глава
6....................................................
Смешанное
программирование................................ Последовательности передачи
параметров ...............
Подготовка к вызову .ASM из Turbo
C++..................... Упрощенные сегментные директивы
....................... Стандартные сегментные директивы .....................
Определение данных - констант и переменных ............. Определение глобальных
и внешних идентификаторов .....
Подготовка к
вызову Turbo C++ из .ASM.....................
Ссылки к функциям....................................... Ссылки к данным
......................................
Определение подпрограмм на языке ассемблера............... Передача
параметров..................................... Обработка значений возврата
............................
Соглашения о
регистрах....................................
Вызов функций
С из модулей .ASM...........................
Псевдопеременные, встраиваемые ассемблерные коды и функции
прерывания...............................................
Псевдопеременные ..................................... Встраиваемые
ассемблерные коды ....................... Функции
прерывания...................................... Практические примеры программ
низкого уровня .........
Глава 7 Сообщения
об ошибках......................
Сообщения об
ошибках времени выполнения................... Сообщения об ошибках
компилятора.......................... Фатальные
ошибки..........................................
Ошибки....................................................
Предупреждения............................................
Приложение
АСтандарты ANSI, зависящие от
реализации................................................
Введение
Документ "Начало работы" содержит обзор всего комплекта
документации к Turbo C++. Информация о том, как с наибольшей эффективностью
использовать Руководства по Turbo C++, содержится во введении и главе 2 этого
документа.
Данное руководство содержит материалы для углубленного
изучения программирования и предназначено для тех, кто уже хорошо умеет
программировать (на C, либо на другом языке программирования). Здесь содержится
справочник по языку C, перекрестные ссылки по библиотеке исполняющей системы и
информациЯ по программированию с использованием потоков C++, моделей памяти, плавающей
точки, оверлеев, видео-функций, интерфейса с языком ассемблера, а также
сообщения об ошибках исполняющей системы и компилятора.
Прочесть
документ "Начало работы" следует, если:
1. Вы ранее никогда не программировали ни на одном языке.
2. Вы ранее программировали, но не на C, и желаете прочесть введение в
язык C.
3. Вам нужна информация о том, как установить на компьютере Turbo C++.
В Руководстве пользователя находится информация об
интегрированной среде Turbo (включая редактор), администраторе управляющей
системы, компиляторе командной строки, дополняющих Turbo C++ утилитах и
макроязыке редактора Turbo.
Справочник по библиотеке содержит в алфавитном порядке
листинг функций и глобальных переменных Turbo C++.
Содержание данного руководства
Глава 1:"Стандарт языка Turbo C++" описывает язык Turbo C++.
Здесь приводятся все отличия от стандарта ANSI C. Данная глава также включает
справочник по языкам C и C++.
Глава 2: "Перекрестные ссылки по библиотеке
управляющей системы" содержит информацию об исходных кодах библиотеки
исполняющей системы. Здесь также описаны файлы заголовков и приводятся
перекрестные ссылки по библиотеке управляющей системы, организованные по
субъектам библиотеки. Например, если вы хотите выяснить, какие функции
относятся к графике, вы должны обратиться к разделу данной главы
"Графика".
Глава 3:"Потоки C++" рассказывает, как
использовать библиотеку потоков C++.
Глава 4:"Модели памяти, операции с плавающей точкой и
оверлеи" рассматривает модели памяти, программирование со смешанными
моделями памяти, вычисления с плавающей точкой и оверлеями.
Глава 5:"Видео-функции" посвящена обработке в Turbo C++ текстов
и графических изображений.
Глава 6:"Интерфейс с языком ассемблера" говорит
о том, как нужно писать программы на языке ассемблера, чтобы они правильно
работали при вызове из программ на Turbo C++.
Глава 7: "Сообщения об ошибках" перечисляет и
объясняет все фатальные ошибки, ошибки и предупреждения исполняющей системы и
компилятора, а также дает возможные рекомендации по их устранению.
Приложение А: "Стандарты ANSI, зависимые от реализации"
описывает те аспекты стандарта ANSI C, которые были определены с некоторой
степенью свободы или не были определены вообще в стандарте ANSI. Следовательно,
эти аспекты могут варьироваться в зависимости от конкретной реализации. Данное
приложение сообщает о том, как Turbo C++ поступает в отношении каждого из этих
аспектов.
Глава 1 Стандарт
языка Turbo C++
В данной главе дается подробное
справочноеруководство программиста по языку Turbo C++. Оно не является руководством
по изучению языка, а скорее формальным описанием языков C и C++ в их реализации
программным продуктом Turbo C++. В данной главе описываются грамматические
правила записи структуры фраз и лексики языка, а также дается подробное
изложение имеющихся директив препроцессора. При формулировке синтаксиса
используется модифицированная запись Бэкуса-Науэра,при необходимости
сопровождаемая кратким описанием и примерами программ.
Turbo C++ реализует стандарт ANSI C, разработанный
техническим комитетом X3J11 между июнем 1983 и декабрем 1988 гг., с некоторыми
расширениями, оговариваемыми вданномтексте. Вы имеете возможность устанавливать
опции компилятора, которые будут предупреждать вас о том, чтотакие расширения
встретилисьпри работе компилятора. Вы можете также настроить компилятор таким
образом, чтобы он рассматривал ключевые слова расширений Turbo C++ в качестве
нормальных идентификаторов (см. Главу 4,"Компилятор командной
строки", в Руководстве пользователя).
Существуют также "согласующие" расширения,
включаемые посредством директив #pragma, предлагаемых стандартом ANSI C,
предназначенные для работы с нестандартными, зависимыми от конкретной
реализации средствами языка.
Turbo C++ является также полной реализацией AT&TC++
версии 2.00, объектно-ориентированного надмножества C, разработанного Бьерном
Строструпом из AT&T Bell Laboratories. Помимо того,что C++ дополняет C
многими новыми средствами и возможностями, он также и отличен от него в большей
или меньшей степени. В настоящей главе содержатся замечания по этим отличиям.
Все средства языка Turbo C++,имеющие отклонения от C++, более подробно
рассматриваются, начиная со страницы 98.
Синтаксис и терминология
Синтаксические определения состоят из имени
определяемого в настоящий момент и не определенного где-либо выше термина, за
которым следует двоеточие (:). Альтернативы обычно следуют за этим в отдельных
строках, но могут также помещаться и в одной строке; в таком случае им
предшествует фраза "одно из". Например,
внешнее-определение:
определение-функции
объявление
восьмеричная
цифра: одно из
0 1 2 3 4 5 6 7
Опциональные элементы конструкции заключаются в угловые скобки:
целочисленный-суффикс:
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40
|