RMDIR: Удаление директории.
CAT: Вывод содержимого файла на экран.
Написание программ в операционной системе Windows
Написание программы на С++ в командной строке
С помощью команды copy con создаем файл *название*.cpp, далее вписываем код программы:
Сохраняем файл при помощи сочетания клавиш “Ctrl+C”. Далее переходим к компиляции программы:
Препроцессинг.
Самая первая стадия компиляции программы.
На данной стадии происходит работа с препроцессорными директивами. Например, препроцессор добавляет хэдеры в код (#include), убирает комментирования, заменяет макросы (#define) их значениями, выбирает нужные куски кода в соответствии с условиями #if, #ifdef и #ifndef.
Получим препроцессированный код в выходной файл *название*.ii (прошедшие через стадию препроцессинга C++ файлы имеют расширение .ii), используя флаг -E, который сообщает компилятору, что компилировать файл не нужно, а только провести его препроцессинг:
g++ -E *название*.cpp –o *название*.ii
Компиляция
На данном шаге g++ компилирует, то есть преобразует полученный на прошлом шаге код без директив в ассемблерный код. Это промежуточный шаг между высокоуровневым языком и машинным (бинарным) кодом.
Используя флаг -S, который сообщает компилятору остановиться после стадии компиляции, получим ассемблерный код в выходном файле *название*.s:
g++ -S *название*.ii -o *название*.s
Ассемблирование
На этом этапе ассемблер преобразовывает ассемблерный код в машинный код, сохраняя его в объектном файле:
as *название*.s -o *название*.o
Компоновка
Компоновщик (линкер) связывает все объектные файлы и статические библиотеки в единый исполняемый файл, который мы и сможем запустить в дальнейшем. Это происходит за счет таблицы символов, в которой находится структура данных, создаваемая компилятором и хранящаяся в самих объектных файлах. В ней хранятся имена переменных, функций и т.д., так же имеется тип и область видимости.
g++ *название*.o -o *название*.exe
После этих этапов мы получили *.exe файл. Его можно запустить и проверить работоспособность.
Достарыңызбен бөлісу: |