Откомпилировать программу что это значит

Задание 3. Компиляция и запуск программы

У программистов существует такое негласное правило — чтобы продемонстрировать новый язык программирования, необходимо написать на нем программу, выводящую «Hello, world!», что значит «Привет, мир!». Это забавное правило придумано для того, чтобы показать хоть что-нибудь на языке, не знакомом пользователю, и продемонстрировать, как можно вывести данные на экран.

Итак, напишем программу, выводящую строку «Hello, world!» на экран монитора.

1. Запустите Turbo Pascal.

2. В окне редактирования наберите текст программы:

Далее составленную программу необходимо проверить на ошибки. Для этого необходимо нажать комбинацию клавиш Alt+F9. Процесс, который происходит при этом, называется «компиляция». Компиляция -это перевод программы с языка программирования на машинный язык, понятный компьютеру.

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

Что такое семантическое ядро? Как собрать семантическое ядро? Рассказываем простыми словами

Error 3. Unknown identifier.(Это означает, что в программе есть неописанная переменная)

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

Если программа написана без ошибок или все ошибки исправлены, то появиться окно с сообщением об успешной компиляции:

Compile successfull: Press any key (Компиляция прошла успешно: Нажми любую клавишу)

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

Для того чтобы запустить программу на выполнение используется комбинация клавиш Ctrl+F9. При этом происходит описанный выше процесс компиляции и сразу же происходит попытка запуска откомпилированной программы. Запустить программу на выполнение можно также с помощью команды меню Run/Run.

3. Запустите процесс компиляции программы комбинацией клавиш Alt+F9. В случае обнаружения ошибок исправьте их.

4. Запустите программу на выполнение. На экране появится строка Hello, world!, после чего выполнение программы приостановится. При нажатии на клавишу Enter программа завершит свою работу.

Важно!

Для открытия окна с результатами вывода на экран нужно нажать комбинацию клавиш Alt+F5. Для перехода к окну редактирования нужно нажать клавишу Esc.

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

Лабораторная работа №2
Программирование линейных алгоритмов

Цель работы: освоить приемы программирования линейных алгоритмов.

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

КОМПИЛИРОВАТЬ — что это такое? значение и описание

Перед выполнением этой лабораторной работы необходимо ознакомиться со структурой программы на языке Turbo Pascal, правилами записи выражений, операторами присваивания и ввода-вывода, а также стандартными арифметическими функциями.

Источник: studopedia.ru

Компиляция программы

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

Читайте также:
Com Android wallpaperbackup что это за программа на Андроид

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

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

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

Схема действия компилятора:

Схема, по которой работает компилятор, приведена на рисунке ниже:

Основные задачи компилятора:

На рисунке отмечено, что компилятор последовательно осуществляет две основные задачи:

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

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

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

  • Как стать программистом?
  • Девелоперизм в крови или путь молодого бойца.
  • Основы маркетинга для iPhone разработчиков.
  • 10 крупнейших мифов об удаленной работе
  • Программист — это не профессия. Программист — это образ жизни.

Источник: kvodo.ru

Языки программирования

Компиляция — преобразование одностороннее, нельзя восстановить исходный код.

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

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

Плюсы и минусы компилируемости в машинный код

  • эффективность: программа компилируется и оптимизируется для конкретного процессора;
  • нет необходимости устанавливать сторонние приложения, такие как интерпретатор или виртуальная машина (т.е. для запуска программы, написаной на компилируемом языке, не требуется установка компилятора).
  • нужно компилировать для каждой платформы (т.е. программу, написанную на языке, который компилируется в машинный код, недостаточно скомпилировать однажды чтобы её можно было запускать на любой платформе);
  • сложность внесения изменения в программу — нужно перекомпилировать заново.

Общая схема

  1. над препроцессором;
  2. над непосредственно компилятором;
  3. и над линковщиком.

Этап 1: препроцессор

Язык препроцессора – это специальный язык программирования, встроенный в C++. Препроцессор работает с кодом на C++ как с текстом.

  • #include — библиотечный заголовочный файл,
  • #include «bar.h» — локальный заголовочный файл.
  • g++ -E square.cpp -o square_preprocessed.cpp
  • g++ -E main.cpp -o main_preprocessed.cpp

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

На вход компилятору поступает код на C++ после обработки препроцессором.

Каждый файл с кодом компилируется отдельно и независимо от других файлов с кодом. Компилируется только файлы с кодом (т.е. *.cpp).

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

На выходе компилятора из каждого файла с кодом получается “объектный файл” — бинарный файл со скомпилированным кодом (с расширением .o или .obj).

Читайте также:
Программа якласс что это

Если в коде C++ вы вызывает не объявленную функцию, то это ошибка этапа компиляции.

Можно «скормить» файлы с кодом непосредственно компилятору. Для компилятора g++ можно использовать ключ -c.

На выходе получается файлы с расширением .o — это объектные файлы.

  • main.o
  • square.o

Этап 3: линковка (компоновка)

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

void foo()
void bar()

По каждому объектному файлу строится таблица всех функций, которые в нём определены.

На этапе компоновки важно, что каждая функция имеет уникальное имя. В C++ может быть две функции с одним именем, но разными параметрами. Имена функций искажаются (mangle) таким образом, что в их имени кодируются их параметры.

Например, компилятор GCC превратит имя функции foo

void foo(int, double) <>

в _Z3fooid . Компилятор g++ также предоставляет возможность обратного преобразования.
c++filt -n _Z3fooid
foo(int, double)

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

Аналогично функциям в линковке нуждаются глобальные переменные.

Точка входа — функция, вызываемая при запуске программы. По умолчанию — это функция main:

int main() < return 0; >
int main(int argc, char ** argv) < return 0; >

Даже для программы, состоящей всего из одного файла и из одной пустой функции int main() < return 0; >все равно требуется ликовка.

Если в коде C++ вы вызываете функцию, которая была объявлена, но не была определена, то это ошибка этапа линковки.

Для того чтобы собрать объектные файлы в один файл их нужно «скормить» компилятору и указать имя исполняемого файла:
g++ square.o main.o -o program

1 комментарий:

Источник: progra-lang.blogspot.com

Начальные сведения о языке

Программа на языке Си ++ – это текст. С помощью произвольного текстового редактора программист записывает инструкцию, в соответствии с которой компьютер будет работать, выполняя данную программу.

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

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

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

Компилирование и выполнение программ в среде Windows

Если Вы используете персональный компьютер с операционной системой Microsoft Windows 98 » />, Windows NT » /> или Windows 2000 » />, то компилятор у Вас, скорее всего, Visual C++ . Этот компилятор представляет собой интегрированную среду программирования, т.е. объединяет текстовый редактор , компилятор , отладчик и еще ряд дополнительных программ. Мы предполагаем, что читатель работает с версией 5.0 или старше. Версии младше 4.2 изучать не имеет смысла, поскольку реализация слишком сильно отличается от стандарта языка.

В среде Visual C++ прежде всего необходимо создать новый проект. Для этого нужно выбрать в меню File атрибут New . Появится новое диалоговое окно. В закладке Projects в списке различных типов выполняемых файлов выберите Win32 Console Application . Убедитесь, что отмечена кнопка Create new workspace . Затем следует набрать имя проекта (например, test ) в поле Project name и имя каталога, в котором будут храниться все файлы , относящиеся к данному проекту, в поле Location . После этого нажмите кнопку » OK «.

Читайте также:
Что за программа 360ts

Теперь необходимо создать файл . Опять в меню File выберите атрибут New . В появившемся диалоге в закладке File отметьте text file . По умолчанию новый файл будет добавлен к текущему проекту test, в чем можно убедиться, взглянув на поле Add to project . В поле Filename нужно ввести имя файла . Пусть это будет main.cpp . Расширение .cpp – это стандарт для файлов с исходными текстами на языке Си ++. Поле Location должно показывать на каталог C:Work . Нажмите кнопку » OK «.

На экране появится пустой файл . Наберите текст программы.

Компиляция выполняется с помощью меню Build . Выберите пункт Build test.exe (этому пункту меню соответствует функциональная клавиша F7 ). В нижней части экрана появятся сообщения компиляции. Если Вы сделали опечатку, двойной щелчок мышью по строке с ошибкой переведет курсор в окне текстового редактора на соответствующую строку кода. После исправления всех ошибок и повторной компиляции система выдаст сообщение об успешной компиляции и компоновке (пока мы не будем уточнять, просто вы увидите сообщение Linking ).

Готовую программу можно выполнить с помощью меню Build , пункт Execute test.exe . То же самое можно сделать, нажав одновременно клавиши CTRL и F5 . На экране монитора появится консольное окно, и в нем будет выведена строка » Hello, world !». Затем появится надпись «Press any key to continue «. Эта надпись означает, что программа выполнена и лишь ожидает нажатия произвольной клавиши, чтобы закрыть консольное окно.

Компилирование и выполнение программ в среде Unix

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

Редактор Emacs предпочтительнее, поскольку в нем есть специальный режим редактирования программ на языке Си ++. Этот режим включается автоматически при редактировании файла с именем, оканчивающимся на » .cpp » или » .h «. Но при отсутствии Emacs сгодится любой текстовый редактор .

Первое, что надо сделать – это поместить текст программы в файл . В редакторе следует создать файл с именем main.cpp (расширение cpp используется для текстов программ на языке Си ++). Наберите текст программы из предыдущего параграфа и сохраните файл .

Теперь программу надо откомпилировать. Команда вызова компилятора зависит от того, какой компилятор Си ++ установлен на компьютере. Если используется компилятор GNU C++, команда компиляции выглядит так:

gcc main.cpp

Вместо gcc может использоваться g++ , c++ , cc . Уточнить это можно у системного администратора. Отметим, что у широко распространенного компилятора GNU C++ есть ряд отличий от стандарта ISO .

В случае каких-либо ошибок в программе компилятор выдаст на терминал сообщение с указанием номера строки, где обнаружена ошибка. Если в программе нет никаких опечаток, компилятор должен создать исполняемый файл с именем a.out . Выполнить его можно, просто набрав имя a.out в ответ на подсказку интерпретатора команд:

a.out

Результатом выполнения будет вывод на экран терминала строки:

Источник: intuit.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru