Лабораторная работа №1 «Порядок сборки проекта на языке C++» по дисциплине: «Программирование»



бет3/4
Дата23.03.2023
өлшемі309,83 Kb.
#172945
түріЛабораторная работа
1   2   3   4
Байланысты:
AB-221 Hrustalev DA otchet lr1

RMDIR: Удаление директории.
CAT: Вывод содержимого файла на экран.


Написание программ в операционной системе Windows
Написание программы на С++ в командной строке
С помощью команды copy con создаем файл *название*.cpp, далее вписываем код программы:

Сохраняем файл при помощи сочетания клавиш “Ctrl+C”. Далее переходим к компиляции программы:

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

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


g++ -E *название*.cppo *название*.ii

  1. Компиляция

На данном шаге g++ компилирует, то есть преобразует полученный на прошлом шаге код без директив в ассемблерный код. Это промежуточный шаг между высокоуровневым языком и машинным (бинарным) кодом.
Используя флаг -S, который сообщает компилятору остановиться после стадии компиляции, получим ассемблерный код в выходном файле *название*.s:
g++ -S *название*.ii -o *название*.s

  1. Ассемблирование

На этом этапе ассемблер преобразовывает ассемблерный код в машинный код, сохраняя его в объектном файле:
as *название*.s -o *название*.o

  1. Компоновка

Компоновщик (линкер) связывает все объектные файлы и статические библиотеки в единый исполняемый файл, который мы и сможем запустить в дальнейшем. Это происходит за счет таблицы символов, в которой находится структура данных, создаваемая компилятором и хранящаяся в самих объектных файлах. В ней хранятся имена переменных, функций и т.д., так же имеется тип и область видимости.
g++ *название*.o -o *название*.exe
После этих этапов мы получили *.exe файл. Его можно запустить и проверить работоспособность.



Достарыңызбен бөлісу:
1   2   3   4




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет