Главная » Просмотр файлов » GCC - The Complete Reference

GCC - The Complete Reference (537669), страница 33

Файл №537669 GCC - The Complete Reference (GCC - The Complete Reference) 33 страницаGCC - The Complete Reference (537669) страница 332015-07-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Использование Сборного Компилятора Хо сомтхмпи ВМП ваОСВЪМ Хер Директива 1МС~00Е Директива хмстдпзи в соответствии с определением стандарта имеет следующий синтаксис: ХНСЬОПИ тххеааае Точный смысл йй2 опале зависит от конкретной реализации. Компилятор Сг ЛП3 распознает Шнпаме, как имя файла из текущего расположения или любого другого пути, указанного параметром опции командной строки -х.

То есть директива хмстяви работает так же, как и директива препроцессора СРР йхас Хцсте, с той лишь разницей, что директива хмсьппм выполняется компилятором и потому ее применение не требует использования препроцессора. Целочисленные константы (1п1еяег Соп61ап16) Значения целочисленных констант выражаются в системах счисления на основании 2, 8, 10 и 16. В следующем примере показано, как записывается одно и то же значение в каждой из перечисленных систем счисления.

Двоичная система обозначается буквой "в", восьмеричная — "о", шестнадцатиричная — "Х" или "х". Цыфры шестнадцатиричной системы счисления могут записываться как с использованием заглавных, так и строчных букв. с Ьавев.х с 9НОСВаи Ьавев м = Хааат Рахит *,м м = х 4ааь вахит *,м а'4ааь' Рахит *,и М = О'45053' внхмт ,м М = В ОХООХОХОООХОХОХХ Рахит ",м вмэ вассиан ьавев Операторы сравнения В таблице 7.6 показаны последовательности символов, которые используются для обозначения традиционных операций сравнения величин, Таблица 7.6 Альтернативные символы для операторов сравнения пргмнннньнмй онеГютор йньтернатнвнмй онвратор Значение Больше Меньше Больше или равно Глава 7. Компиляция программ на языке Рог(гап 1 5 1 бра(кваканий впвратар Лпэгврватнаный апврамр Значвннв Меньше или равно Не равно Равно разновидности основных типов данных. Селектор ОАТА Предусмотрено применение специальных отметок-селекторов пйтй для внесения юиенений в основные типы переменив)х.

Например, синтаксис для определения разновидности к1ш 3 типа 1нтБОВВ выглядит так: 1ктеоек(ктио 3) Возможными значениями для к1ип являются о, 1, 3, 5, 7. Этот синтаксис пригоден для всех родительских типов (1иткаке, еекп, сомрпех, ьоа1сдь, Сдйкйстйп), хотя не для всех типов задействованы все значения.

В таблице 7.7 от- ДЕЛЬНО ОПИСЫВаЮтСя ВСЕ ЗНаЧЕНИя СЕЛЕКтОра Кгиц И ИХ ПРИМЕНЕНИЕ В КхСС дпя Каждого из типов данных. Точное значение к1ип меняется от одной платформы к дру- )С, потому что разрядность и диапазон значений основных типов определяются возможностями оборудования. 7аблицв 7.7. Числа, определяемые для селвкто в К)Н0 йвд значвппв Опнсвннв Значение сейчас не задействовано, но зарезервировано для использования а будущем. Установка по умолчанию. Результат будет тем же, как и без применения к1мо. Обычно соответствует гмтксва*4, аввь*4, СоМэьвх 8, ьоаголь*4.

Эти типы занимают е два раза больше памяти, чем применяемые по умолчанию. В ОМО, изменение этого кгиО СООтвЕтСтвУет стандаРту Гог(гап 90 для двойной точности. Поэтому акль(кхио г) соответствует ооовьк ваксгатои, который обычно соответствует ааль а. Таюке сомвькх<кгив г) соответствует ооовьк сомвькх, который обычно соответствует сомвькх*14.

зиткака<кзио=г) и ьосзсль(кзио г) поддерживаются не каждой Реализацией ОМО Роптал. Эти типы занимают столько же пространства, как тип снвалсткк(кгив 1) . Это обычно соответствует звтеака 1 и ьоагсль*1. Это значение кэио может быть предусмотрено не для всех типов а некоторых реализациях ОМО. Эти типы занимают вдвое меньшее пространство, чем предусмотрено по умолчанию (или при применении к1ио 1). Это обычно соответствует хнтваКа г и ьсазоль*г. Это значение кзмв можвт быть предусмотрено не для всех типов а некоторых реализациях ЭМО. Действует только для хиткака(кгио 7), этот тип имеет размер наименьшего возможного указателя, который может содержать адрес переменной единственной сньвлсткк*1. На 32-битных системах зто соответствует хвтКОка 4, а на 64-битных — змтвакв*з. Квмпиляция праорамм на язьиа )ю н есмотря на отсутствие стандарта языка чача в таком виде, как опубликованные официальными органами стандартизации документы для языков С, С++ и Ада, все же существуе~ вполне ясное и простое определение этого языка.

Язык вача находится под полным контролем корпорации 5пп М(сгозузгегпз, и эта организация несет всю ответственность его за поддержку и развитие. Синтаксис и основные структуры самого языка очень мало изменились со времени выпуска. А вот АР! (системные классы) Регулярно пополняются, и их количество по сравнению с первоначальным возРосло уже в несколько раз. Что касается самого компилятора языка, то компилятор /ача принципиально отличается от других комиляторов. Он вырабатывает объектный код в двух различных формах.

Во-первых, он подобно С, С++, или любому другому компилятору может использоваться ди созда ния системно-ориентированных (паг!че) двоичных объектных файлов, содержащих машинный код, г!епосредственно исполняемый целевой машиной. Во-вторых, он может вырабатывать объектные файлы в формате байтового кода./ача (байт-кода, "зача Ьугесоде"), которые выполняются особым интерпретатором — любой виртуальной машиной Зача (зача Чапа! Маз!ппе, з'уМ). Компилятор бЬП) 1ача также способен принимать на входе Файлы с байт-кодом интерпретатора ч'УМ и вырабатывать из них системно-ориевтированные объектные файлы, применимые в компоновке машинных программ. Базовая компиляция В таблице 8.1 представлен список суффиксов (расширений) имен файлов, имеющих отношение к компиляции и компоновке программ на языке вача.

Лолный перечень распознаваемых С СС суффиксов файловых имен находится в приложении Г. Глава й. Компиляция программ на языке Зауа 153 [аблица 8.1. Расширения файлов, применяемые а п ограмми овании на!а(/а 944/вам соде(гаване яьейла Файл архива, библиотека объектных файлов длл статической компоновки. Объектный файл, содержащий байтовый код /зчз в формате интерпретатора виртуальной машины зача (бзйт-код ЛlМ].

Исходный код на языке./зчз. Двоичный объектный файл в формате, поддерживаемом компоновщиком. Исходный код на ассемблере. Разделяемая библиотека для динамической компоновки ео время выполнения программ. .с1авв .акта ,е Преобразование отдельного исходного файла в машинную программу Для того, чтобы /ача-класс был выполняемым, он должен быть объявлен как рцЬ11с и иметь метод с сигнатурой риЬ11с вайп ( ), как в следующем примере; /* Не11оног1й.Чача */ рлЬ11с о1аеа Не11оиог1й ( рпь11с асас1о тгоей ваап(ясг[пд ага[)) ( Вуагев.опг.рг1пс1п("Ье11о, иог1й")/ ) ) е дс( --ва1п=не11оиог1й -иа11 не11оиог1й.зача -о не11оиогтй Опция -о назначает выполнимому файлу имя не11оног1й, который по умолчанию был бы назван а. оис.

Для запуска на выполнение готовой программы нужно просто ввести ее имя в командной строке: Ъ Не11оног1й Исполняемые машиной двоичные файлы свободны от ограничения, налагаемою интерпретатором /ага на имена выполнимых классов. Поэтому исполняемый файл готовой программы в машинном коде может быть назван как угодно. В следуюшем примере тот же не11оиог1й. з ача компилируется в машинную программу ьоийу: 3 дсз --ва1п=не11оиог1й -иа11 не11оиог1й.бача -о ьоийу Для компиляции программы на языке /ауа следует использовать команду до~. Ояа является драйвером верхнего уровня ([гоп( еп4 для языка /ага, т.е.

интерфейсной программой компилятора до с. В /ага любой класс, имеюшнй метод ва1п ( ) является выполнимым. Это прекрасно работает с интерпретатором /УМ, когда вы указываете в командной строке при запуске программы имя класса. Но когда требуется компиляция программы в выполнимый машиной двоичный формат, то нужно указывать начальную входную точку вырабатываемой программы. Следующая команда скоипялирует и скомпонует в машинную программу исходный файл не11оиог1й. 1 ача. Опция --ва1п используется как раз для того, чтобы указать метод ва1п() класса НЕ11ОИОг1й В КаЧЕСтВЕ ВХОдНОй ТОЧКИ ПрОГраММЫ: 1 54 Часть и.

Использование Сборного Компилятора Но это послабление относится только к исполняемым файлам, содержащим машинный код. При компиляции в байт-код лля выполнения в интерпретаторе лУМ исходный файл рцЫ)с-класса должен иметь то же имя, что и определяемый в нем класс. То есть файл, содержащий определение рцбйс-класса не11оиог1йдолжен называться Не11оног1й. З ача. Компиляция отдельного исходного файла в байт-код класса виртуальной машины 3ача Возможно использовать компилятор б~П) для создания файла с суффиксом . с1авв, выполнимого в виртуальной машине 3ача (лУМ).

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

Тип файла
DJVU-файл
Размер
6,08 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

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