46019 (665326), страница 45

Файл №665326 46019 (Turbo C++ Programer`s guide) 45 страница46019 (665326) страница 452016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 45)

-mm! Для моделей данных small SS и DS должны совпадать.

-mt! Для моделей данных small SS и DS должны совпадать.

-zGxx Имя группы BSS не может быть изменено.

-zSxx Имя группы данных data не может быть изменено.

Прочие опции, не упомянутые здесь специально, могут устанавливаться по вашему желанию.

2.1.2.2 Семантика аргументов, передаваемых функции main

Когда программа выполняется в операционной системке DOS версий до 3.0, значение argv[0] представляет собой указатель на нулевой байт. Для версии DOS 3.0 и старше argv[0] указывает на имя программы.

Остальные строки argv указывают на каждый компонент аргументов командной строки DOS. Пробельные символы, разделяющие аргументы, удаляются, и каждая последовательность непрерывных не-пробельных символов рассматривается как отдельный аргумент. Строки символов в кавычках рассматриваются обычным способом (как одна строка, которая может содержать пробелы.)

2.1.2.3 Что считается интерактивным устройством

Любое устройства, работающее как консоль.

2.2.1Компоненты наборов символов - исходного и времени выполнения

Наборы символов, исходный и времени выполнения, представляют собой расширенный набор символов ASCII, поддерживаемый IBM PC. Любой символ, кроме ^Z (Control-Z) может находиться в строковых литералах, символьных константах или комментариях.

2.2.1.2 Состояния сдвига для многобайтных символов

Многобайтные символы в Turbo C++ не поддерживаются.

2.2.2Направление печати

Печать символов происходит слева-направо, в нормальном для PC направлении.

2.2.4.2 Число битов в символе из набора времени выполнения

Символ из набора символов времени выполнения имеет длину 8 битов.

3.1.2Число значащих начальных символов идентификатора

Значащими являются только первые 32 символа, хотя это значение может быть изменено при помощи опции командной строки (-l). И внешние, и внутренние символические имена имеют одинаковое число значащих символов. (Число значащих символов в идентификаторах С++ не ограничено).

3.1.2Учитывается ли регистр во внешних идентификаторах

Компилятор обычно заставляет компоновщик делать различие между заглавными и строчными буквами. Для того, чтобы подавить учет регистра, служит опция командной строки (-l-c).

3.1.2.5 Представления и множества принимаемых значений для различных интегральных типов

Тип Минимальное значение Максимальное значение

signed char -128 127

unsigned char 0 255

signed short -32,768 32,767

unsigned short 0 65,535

signed int -32,768 32,767

unsigned int 0 65,535

signed long -2,147,483,648 2,147,483,647

unsigned long 0 4,294,967,295

Все типы char используют для хранения значения 8-битовый байт.

Все типы short и int используют 2 байта.

Все типы long используют 4 байта.

Если задано выравнивание в памяти (-a), все объекты интегральных типов, кроме char, выравниваются по границе четных байтов.

Символьные типы не выравниваются никогда.

3.1.2.5 Представления и множества принимаемых значений для различных типов чисел с плавающей точкой

Для типов с плавающей точкой Turbo C++ Intel 8087 использует форматы плавающей точки IEEE. Тип float использует 32-битовый формат действительных чисел IEEE. Тип double использует 64-битовый формат действительных чисел IEEE. Тип long double использует 80-битовый расширенный формат действительных чисел IEEE.

3.1.3.4 Соотношение между наборами символов - исходным и времени выполнения

Любые символы в строковых литералах или символьных константах остаются во время выполнения программы без изменений. Наборы символов, исходный и времени выполнения, одинаковы.

3.1.3.4 Значение целочисленной символьной константы, содержащей символ или управляющую последовательность, не представленные в базовом наборе символов времени выполнения или в расширенном наборе символов, для широкой символьной константы

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

3.1.3.4 Значение целочисленной константы, которая содержит более одного символа, или широкая символьная константа, которая содержит более одного многобайтного символа

Символьные константы могут содержать один или два символа. Если включено два символа, то первый символ занимает младший байт константы, а второй занимает старший байт.

3.1.3.4 Текущее место действия, используемое для преобразования многобайтных символов в соответствующие широкие символы для широкой символьной константы

Широкие символьные константы распознаются, но рассматриваются, как обычные символьные константы. В этом смысле "местом действия" является "С".

3.2.1.2 Результат преобразования целого в более короткий тип целого со знаком, либо результат преобразования целого без знака в целое со знаком равной длины, если значение не может быть представлено полностью

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

3.2.1.3 Направление усечения, когда число интегрального типа преобразуется в число с плавающей точкой, которое не может в точности представлять исходное число

Целое число округляется до ближайшего представимого значения. 31-1

Например, значение типа long (2 ) преобразуется в значение float 31

2 . Разрешение направления округления производится по стандартным арифметическим правилам IEEE.

3.2.1.4 Направление усечения или округления при преобразовании число с плавающей точкой в число с плавающей точкой меньшей точности представления.

Число округляется до ближайшего представимого значения. Разрешение направления округления производится по стандартным арифметическим правилам IEEE.

3.3 Результаты поразрядных операций для целых со знаком

Поразрядные операции выполняются для целых со знаком так же, как и для соответствующих типов без знака. Знаковый бит рассматривается как обычный бит данных. Результат затем интерпретируется как обычное целое со знаком, представленное как дополнение до 2.

3.3.2.3 Что происходит, когда доступ к компоненту объекта типа объединения происходит при помощи компонента другого типа

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

3.3.3.4 Тип целого числа, предназначенного для хранения максимального размера массива

Для обычного массива это тип unsigned int, а для массивов в случае модели данных huge это тип signed long.

3.3.4Результат приведения типа указателя в целое и обратно

При преобразованиях между целыми и указателями одинаковых размеров ни один бит не изменяется. При преобразовании более длинного типа к более короткому усекаются старшие биты. При преобразовании более короткого целого в более длинный указатель сначала целое расширяется в такой интегральный тип, который по длине соответствует данному указателю. Целые со знаком для заполнения новых байтов расширяются по знаку. Аналогичным образом, более короткие указатели для преобразования в более длинный интегральный тип сначала расширяются до типа указателя, который по длине равен данному интегральному типу.

3.3.5Знак остатка при целочисленном делении

Когда только один из операндов отрицателен, остаток также будет отрицательным. Если ни один из операндов не отрицателен, или оба отрицательны, остаток будет положительным.

3.3.6Интегральный тип, необходимый для хранения разности между двумя указателями на элементы одного и того же массива, ptrdiff_t

Для ближних (near) указателей это тип signed int, а для указателей far или huge - это signed long. Тип ptrdiff_t зависит от используемой модели памяти. Для малых моделей памяти это тип int, а для больших моделей памяти - это тип long.

3.3.7Результат сдвига вправо отрицательного интегрального типа со знаком

Отрицательные отрицательные значения со знаком при сдвиге вправо расширяются по знаку.

3.5.1Степень вероятности фактического размещения в регистрах объектов со спецификатором класса памяти register

В регистр могут быть помещены объекты, объявленные как двухбайтовые интегральные типы или указатели. Компилятор может помещать в регистр динамические локальные переменные малого размера, но объявленные как register будут иметь приоритет. Для этого бывает доступно не меньше двух, а вообще до шести регистров. Число фактически используемых для этой цели регистров зависит от числа регистров, необходимых для хранения промежуточных значений текущей функции.

3.5.2.1 Заполнение и выравнивание компонентов структур

По умолчанию заполнение структурсимволами-заполнителями не выполняется. При использовании опции выравнивания (-a) структуры дополняются до четного размера, а любые компоненты,не имеющие символьного типа или типа символьного массива, выравниваются по четным адресам смещения.

3.5.2.1 Рассматривается ли линейное битовое поле int как signed int, или же как unsigned int

Линейные битовые поля int рассматриваются как имеющие тип signed int.

3.5.2.1 Порядок распределения битового поля в int

Битовое поле распределяется в направлении от позиции младшего бита к позиции старшего бита.

3.5.2.1 Может ли битовое поле пересекать границу единицы памяти

Когда опция выравнивания (-a) не запрашивается, битовое поле может пересекать границу слова, но никогда не может занимать более двух соседних байтов.

3.5.2.2 Интегральный тип, которым представляются значения перечислимого типа

Если нумераторов столько, что хватает типа unsigned char, то выбирается этот тип; в противном случае выбирается signed int.

3.5.4Максимальное число деклараторов, которые могут модифицировать арифметический тип, структуру или объединение

Специальных ограничений на число деклараторов нет. Число разрешенных деклараторов достаточно велико, однако при глубоком уровне вложенности в набор блоков функции число деклараторов уменьшается. На файловом уровне это число не менее 50.

3.5.5.3 Что представляет собой доступ к объекту, который квалифицирован типом volatile

Любая ссылка на объект volatile приводит к доступу к самому объекту. Произойдет ли доступ к объекту при доступе к смежным адресам памяти, зависит от физической конструкции памяти в аппаратном обеспечении. Для специальной памяти устройств, такой как дисплейная память, это зависит от конструкции устройства. Для обычной памяти PC объекты volatile используются только для такой памяти, к которой возможен доступ по асинхронным прерываниям, поэтому доступ к смежным объектам не оказывает эффекта.

3.6.4.2 Максимальное число case-вариантов в операторе switch

На число вариантов оператора switch специальных ограничений нет. Если памяти достаточно, то компилятор обработает все.

3.8.1Соответствует ли значение одно-символьной константы в выражении типа константы, управляющем условным включением, значению той же символьной константы в наборе символов времени выполнения. Может ли такая символьная константа принимать отрицательное значение

Все символьные константы, даже константы условных директив, используют один и тот же набор символов (времени выполнения). Одно-символьная константа будет отрицательной, если это символьный тип со знаком signed char (по умолчанию и при -K не запрашивается).

3.8.2Метод нахождения включаемых исходных файлов

В случае имен включаемых файлов, заданных в угловых скобках, если включаемые директории указаны в командной строке, то поиск файлов производится в каждой из этих директорий. Просмотр включаемых директорий происходит в следующем порядке. Сначала берутся директории, заданные в командной строке, а затем указанные в TURBOC.CFG. Если включаемые директории не заданы, то поиск выполняется только в текущей директории.

3.8.2Поддержка задания в кавычках имен включаемых исходных файлов

Если имя файла задано в кавычках, то поиск файла будет выполняться в текущей директории. Если файл не найден, то далее Turbo C++ будет выполнять поиск файла, как если бы его имя было задано в угловых скобках.

3.8.2Особенности последовательности символов в именах файлов

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

Характеристики

Тип файла
Документ
Размер
2,71 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов реферата

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6516
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее