Компилятивная программа что это такое

КОМПИЛЯТИВНЫЙ

Смотреть что такое «КОМПИЛЯТИВНЫЙ» в других словарях:

КОМПИЛЯТИВНЫЙ — Несамостоятельный, заимствованный из неск. сочинений: составленный путем компилирования. Словарь иностранных слов, вошедших в состав русского языка. Чудинов А.Н., 1910. КОМПИЛЯТИВНЫЙ заимствованный из разных книг. Словарь иностранных слов,… … Словарь иностранных слов русского языка

КОМПИЛЯТИВНЫЙ — КОМПИЛЯТИВНЫЙ, компилятивная, компилятивное; компилятивен, компилятивна, компилятивно (книжн.). 1. прил. к компиляция. Его статья имеет чисто компилятивный характер. 2. Составленный посредством компиляции (во 2 знач.), представляющий собой… … Толковый словарь Ушакова

компилятивный — вторичный Словарь русских синонимов. компилятивный прил., кол во синонимов: 3 • вторичный (8) • … Словарь синонимов

Компилятивный — I прил. 1. соотн. с сущ. компиляция I 1., связанный с ним 2. Основанный на компиляции [компиляция I 1.]. II прил. 1. соотн. с сущ. компиляция II, связанный с ним 2. Полученный в результате компиляции [компиляция II]. Толковый словарь Ефремовой … Современный толковый словарь русского языка Ефремовой

компилятивный — компилятивный, компилятивная, компилятивное, компилятивные, компилятивного, компилятивной, компилятивного, компилятивных, компилятивному, компилятивной, компилятивному, компилятивным, компилятивный, компилятивную, компилятивное, компилятивные,… … Формы слов

компилятивный — компилят ивный; кратк. форма вен, вна … Русский орфографический словарь

компилятивный — кр.ф. компиляти/вен, компиляти/вна, вно, вны … Орфографический словарь русского языка

компилятивный — ая, ое; вен, вна, вно. 1. Основанный на компилировании; представляющий собой компиляцию (1 зн.). К ая статья. К ая работа. 2. Свойственный компиляции. К. характер статьи. ◁ Компилятивность, и; ж … Энциклопедический словарь

компилятивный — ая, ое; вен, вна, вно. см. тж. компилятивность 1) основанный на компилировании; представляющий собой компиляцию 1) К ая статья. К ая работа. 2) Свойственный компиляции. Компиляти/вный характер статьи … Словарь многих выражений

компилятивный — компил/ят/ивн/ый … Морфемно-орфографический словарь

Источник

Компиляция (программирование)

Компилировать — проводить трансляцию машинной программы с проблемно-ориентированного языка на машинно-ориентированный язык. [3]

Содержание

Виды компиляторов [2]

Виды компиляции [2]

Основы

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

Для каждой целевой машины (Apple и т. д.) и каждой операционной системы или семейства операционных систем, работающих на целевой машине, требуется написание своего компилятора. Существуют также так называемые кросс-компиляторы, позволяющие на одной машине и в среде одной ОС получать код, предназначенный для выполнения на другой целевой машине и/или в среде другой ОС. Кроме того, компиляторы могут быть оптимизированы под разные типы процессоров из одного семейства (путём использования специфичных для этих процессоров инструкций). Например, код, скомпилированный под процессоры семейства MMX, SSE2.

Также существуют компиляторы, переводящие программу с языка высокого уровня на язык ассемблера.

Существуют программы, которые решают обратную задачу — перевод программы с низкоуровневого языка на высокоуровневый. Этот процесс называют декомпиляцией, а программы — декомпиляторами. Но поскольку компиляция — это процесс с потерями, точно восстановить исходный код, скажем, на C++, в общем случае невозможно. Более эффективно декомпилируются программы в байт-кодах — например, существует довольно надёжный декомпилятор для Flash. Сходным процессом является дизассемблирование машинного кода в код на языке ассемблера, который всегда выполняется успешно. Связано это с тем, что между кодами машинных команд и командами ассемблера имеется практически однозначное соответствие.

Структура компилятора

Процесс компиляции состоит из следующих этапов:

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

Трансляция и компоновка

Важной исторической особенностью компилятора, отражённой в его названии (англ. compile — собирать вместе, составлять), являлось то, что он мог производить и компоновку (то есть содержал две части — транслятор и компоновщик). Это связано с тем, что раздельная компиляция и компоновка как отдельная стадия сборки выделились значительно позже появления компиляторов, и многие популярные компиляторы (например, GCC) до сих пор физически объединены со своими компоновщиками. В связи с этим, вместо термина «компилятор» иногда используют термин «транслятор» как его синоним: либо в старой литературе, либо когда хотят подчеркнуть его способность переводить программу в машинный код (и наоборот, используют термин «компилятор» для подчёркивания способности собирать из многих файлов один).

Интересные факты

Примечания

См. также

Литература

Полезное

Смотреть что такое «Компиляция (программирование)» в других словарях:

Компиляция — Компиляция: В Викисловаре есть статья «компиляция» Компиляция (литература) (лат. … Википедия

Условная компиляция — В информатике, препроцессор это компьютерная программа, принимающая данные на входе, и выдающая данные, предназначенные для входа другой программы, например, такой как компилятор. О данных на выходе препроцессора говорят, что они находятся в… … Википедия

Объектно-ориентированное программирование — Эта статья во многом или полностью опирается на неавторитетные источники. Информация из таких источников не соответствует требованию проверяемости представленной информации, и такие ссылки не показывают значимость темы статьи. Статью можно… … Википедия

JIT-компиляция — Just in time compilation (JIT, компиляция «на лету»), dynamic translation (динамическая компиляция) технология увеличения производительности программных систем, использующих байт код, путём компиляции байт кода в машинный код… … Википедия

Сравнение языков программирования — Эту статью следует викифицировать. Пожалуйста, оформите её согласно правилам оформления статей. Условные обозначения … Википедия

Пайтон — Python Класс языка: функциональный, объектно ориентированный, императивный, аспектно ориентированный Тип исполнения: интерпретация байт кода, компиляция в MSIL, компиляция в байт код Java Появился в: 1990 г … Википедия

ГОСТ 19781-90: Обеспечение систем обработки информации программное. Термины и определения — Терминология ГОСТ 19781 90: Обеспечение систем обработки информации программное. Термины и определения оригинал документа: 9. Абсолютная программа Non relocatable program Программа на машинном языке, выполнение которой зависит от ее… … Словарь-справочник терминов нормативно-технической документации

Паскаль (язык) — Pascal Семантика: процедурный Тип исполнения: компилятор Появился в: 1970 г. Автор(ы): Никлаус Вирт Паскаль (англ. Pascal) высокоуровневый язык программирования общего назначения. Один из наиболее известных языков программирования, широко… … Википедия

Паскаль (язык программирования) — Эта статья или раздел нуждается в переработке. В Паскале нет модулей, ООП и прочих новомодных веяний. Описание расширений должно присутствовать только в статьях о соответ … Википедия

D (язык программирования) — У этого термина существуют и другие значения, см. D. D Семантика: мультипарадигменный: императивное, объектно ориентированное, обобщённое программирование Тип исполнения: компилятор Появился в: 1999 Автор(ы) … Википедия

Источник

Что такое компиляция

Здравствуйте, уважаемые читатели блога KtoNaNovenkogo.ru. Компиляция – это слово многогранное, и в зависимости от сферы применения имеет разные, иногда непохожие значения.

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

Компиляция — это.

Слово образовано от латинского compilatio, и буквально переводится как «ограбление или кража». Но в отрицательном контексте его можно встретить всё же намного реже, чем в положительном.

Компиляция — это сочинительство (не обязательно литературное) на основе чужих работ и исследований. Она представляет пересказ написанного кем-то ранее, и поэтому ничего нового не даёт.

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

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

Компиляция текста — что это такое

Само понятие существует столько же, сколько талантливые книги, как научные, так и художественные.

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

Количество источников — важное отличие от плагиата.

Использование множества источников создаёт информативный материал, в котором можно найти большое количество данных по заданной теме. В положительном контексте это служит популяризаторским и просветительским целям.

Но трактование слова компиляция в смысле «кража» тоже встречается.

Это, например, почти все газеты и журналы, которые очень часто вместо собственных мыслей и описаний событий, используют уже готовые, взятые в интернете, и только пересказанные своими словами, не исключено, что ещё и с искажением смысла. Случайным, или не очень, если издание ангажированное (это как?).

Компиляция в программировании — что это

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

Существует несколько категорий компиляции:

Именно в программировании термин встречается особенно часто, в других сферах он чаще заменяется синонимами.

Другие примеры употребления термина

По утверждению википедии, попурри, pot-pourri — мешанина. В переводе с французского, музыкальная пьеса из популярных мотивов и музыкальных тем. Но попурри отличается тем, что часто является импровизацией, а не ранее оформленным альбомом.

Они могут быть разными, например: составленные из узнаваемых работ одного автора, созданных им в разное время; хитпарады; музыка одного стиля, сборники одного автора или исполнителя.

Они не обязательно составляются из известных музыкальных произведений. Так называют альбомы редких записей, саундтреков к фильмам, просто жанровые сборники.

Классические танцы дополняет современный, балет (это что?) и брейк одновременно существуют на одной сцене. Музыкальное сопровождение полностью эклектично. Представители стиля — канадский цирк Дюсалей, театр Моники (США), Театр Золотых фигур (Россия).

Например, если требуется подготовить консолидированную отчётность, или отчётность по МФСО.

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

Эта статья относится к рубрикам:

Комментарии и отзывы (4)

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

Не соглашусь с Владимиром — учитывая сколько сейчас пишется научных работ, без компиляции никак не обойтись.

Компилируемые программы работают куда быстрее транслируемых, а всё потому что, во время работы программы не тратится время на преобразование исходного кода в машинный.

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

Источник

Процесс компиляции программ на C++

Цель данной статьи:

В данной статье я хочу рассказать о том, как происходит компиляция программ, написанных на языке C++, и описать каждый этап компиляции. Я не преследую цель рассказать обо всем подробно в деталях, а только дать общее видение. Также данная статья — это необходимое введение перед следующей статьей про статические и динамические библиотеки, так как процесс компиляции крайне важен для понимания перед дальнейшим повествованием о библиотеках.

Все действия будут производиться на Ubuntu версии 16.04.
Используя компилятор g++ версии:

Состав компилятора g++

Мы не будем вызывать данные компоненты напрямую, так как для того, чтобы работать с C++ кодом, требуются дополнительные библиотеки, позволив все необходимые подгрузки делать основному компоненту компилятора — g++.

Зачем нужно компилировать исходные файлы?

Исходный C++ файл — это всего лишь код, но его невозможно запустить как программу или использовать как библиотеку. Поэтому каждый исходный файл требуется скомпилировать в исполняемый файл, динамическую или статическую библиотеки (данные библиотеки будут рассмотрены в следующей статье).

Этапы компиляции:

driver.cpp:

1) Препроцессинг

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

Препроцессор — это макро процессор, который преобразовывает вашу программу для дальнейшего компилирования. На данной стадии происходит происходит работа с препроцессорными директивами. Например, препроцессор добавляет хэдеры в код (#include), убирает комментирования, заменяет макросы (#define) их значениями, выбирает нужные куски кода в соответствии с условиями #if, #ifdef и #ifndef.

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

Получим препроцессированный код в выходной файл driver.ii (прошедшие через стадию препроцессинга C++ файлы имеют расширение .ii), используя флаг -E, который сообщает компилятору, что компилировать (об этом далее) файл не нужно, а только провести его препроцессинг:

Взглянув на тело функции main в новом сгенерированном файле, можно заметить, что макрос RETURN был заменен:

В новом сгенерированном файле также можно увидеть огромное количество новых строк, это различные библиотеки и хэдер iostream.

2) Компиляция

На данном шаге g++ выполняет свою главную задачу — компилирует, то есть преобразует полученный на прошлом шаге код без директив в ассемблерный код. Это промежуточный шаг между высокоуровневым языком и машинным (бинарным) кодом.

Ассемблерный код — это доступное для понимания человеком представление машинного кода.

Используя флаг -S, который сообщает компилятору остановиться после стадии компиляции, получим ассемблерный код в выходном файле driver.s:

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

3) Ассемблирование

Так как x86 процессоры исполняют команды на бинарном коде, необходимо перевести ассемблерный код в машинный с помощью ассемблера.

Ассемблер преобразовывает ассемблерный код в машинный код, сохраняя его в объектном файле.

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

Далее возможно сохранение данного объектного кода в статические библиотеки для того, чтобы не компилировать данный код снова.

Получим машинный код с помощью ассемблера (as) в выходной объектный файл driver.o:

Но на данном шаге еще ничего не закончено, ведь объектных файлов может быть много и нужно их всех соединить в единый исполняемый файл с помощью компоновщика (линкера). Поэтому мы переходим к следующей стадии.

4) Компоновка

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

Таблица символов — это структура данных, создаваемая самим компилятором и хранящаяся в самих объектных файлах. Таблица символов хранит имена переменных, функций, классов, объектов и т.д., где каждому идентификатору (символу) соотносится его тип, область видимости. Также таблица символов хранит адреса ссылок на данные и процедуры в других объектных файлах.
Именно с помощью таблицы символов и хранящихся в них ссылок линкер будет способен в дальнейшем построить связи между данными среди множества других объектных файлов и создать единый исполняемый файл из них.

Получим исполняемый файл driver:

5) Загрузка

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

Запустим нашу программу:

Заключение

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

Источник

Компиляция – что это такое простыми словами (2 фото + 2 видео)

Обозначение понятия

Существуют следующие возможные способы применения слова компиляция:

1. Аниме. В данной сфере компиляцией обозначают короткометражный или полнометражный фильм, который основан на соответствующем сериале, выполненном в классическом жанре японской анимации

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

3. Музыка. В данном виде искусства компиляцией называют сборник или же целый альбом, в который входят композиции, выполненные на одну и ту же тему. Это могут быть хит-парады, песни, определенного стиля или эпохи, а также сочинения некоего исполнителя различных лет написания. Отдельно в музыке этим термином именуется методика составления произведения из уже использующихся тем. Иногда компиляцией можно назвать то же, что и попурри.

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

Вышеперечисленный перечень сфер применения понятия компиляция не является исчерпывающим.

Литература

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

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

Появление компиляции в литературе объясняется распространением учебно-популяризаторских и просветительских целей. В древние времена отсутствие такого механизма было объяснено сложностью понимания авторства и не имеющимся во всех государствах института авторского права.

Источник

Понравилась статья? Поделиться с друзьями:

Не пропустите наши новые статьи:

  • Компилятивная программа в доу что это такое
  • Компилируется что это такое в программировании
  • компилируется в программировании что это
  • Компилируемые языки программирования что это
  • Компилировать что это значит в программировании

  • Операционные системы и программное обеспечение
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии