GCC — компиляция C/C++ программ
Обсуждение приветствуется , буду рад пожеланиям по улучшению данной статьи.
Статья в процессе написания, пожелания пишите сюда
1. Предисловие
2. Руководство
2.1. Установка MinGW на Windows.
2.2. Прописывание пути к MinGW в Windows.
2.3. Компиляция в Windows`е
2.4. Литература по GCC
2.5. Уменьшение размера исполняемого файла.
В данной статье будет написано как пользоваться компилятором GCC и вспомогательными программами. Эта статья будет полезна для тех, кто только начал изучать С/С++, и не знает на чем и как компилировать свои первые программы, а также всем желающим научиться пользоваться этим компилятором.
2.1. Установка MinGW на Windows.
Зайдите на страничку http://sourceforge.net/projects/mingw/files/ найдите там папку Automated MinGW Installer, найдите в ней инсталлятор посвежее, скачайте его. Затем запустите его. Щелкните Next => Download and install => Next => I Agree => Current => Next => Выберите MinGW base tools, g++, MinGW Make => Next => Выберите папку куда хотите установить MinGW => Next => Install. Ждите пока скачается и установится MinGW.
2.2. Прописывание пути к MinGW в Windows.
Прописывание путей необходимо для того, чтобы для запуска компилятора не приходилось каждый раз писать полный путь к нему. Зайдите в Панель инструментов => Система => Дополнительно => Переменные среды. К переменной Path, через знак «точка с запятой» добавьте путь к папке /MinGW/bin.
2.3. Компиляция в Windows`е
1) Откройте консоль Пуск=> Выполнить=> cmd.
2) Перейдите в папку с исходником командой cd путь_к_папке_с_исходником например:
Команда PAUSE нужна для того, чтобы после компиляции консоль не закрывалась, чтобы можно было посмотреть результаты компиляции т.к. могут быть сообщения компилятора о синтаксических ошибках в исходнике. После того, как вы запишете необходимые команды в текстовой файл, надо сохранить файл и переименовать его в файл с расширением *.bat. Например make.bat. Этот файл make.bat нужно класть в папку с исходником, и для компиляции необходимо только запустить этот make.bat двойным щелчком.
2.5. Уменьшение размера исполняемого файла.
Удаление отладочной информации позволяет уменьшить размер испольняемого файла. Команда выглядит так:
strip имя_исполняемого_файла
Например:
Компиляция Objective-C в GCC
Пытаюсь выполнить компияцию кода Objective-C с помощью GCC на Windows. Для этого: 1. Установил.
Компиляция GCC в Windows
У меня в виндусе GCC для виндуса (портированный) Я хочю на нем (5,1) скомпилировать сам.
GCC:Компиляция в формат elf под Windows
Можно ли при помощи gcc создать в Windows исполняемый файл в формате elf? Если можно, то как?
gcc компиляция
Проблема возникла при компиляции проекта code::block. При build and run все работает, в папке bin.
Некоторые поправки и добавления по пунктам:
2.1 В данный момент, самая актуальная версия MinGW находится в составе MSYS2. Краткая инструкция по установке и настройке находится на главной (той же) странице официального сайта.
2.5 Параметр -s (или —strip-all ) позволяет максимально уменьшить размер исполняемого файла, удалив из него всю информацию о символах и релокации.
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
Компиляция gcc
Подскажите как в VS скомпилировать программу с помощью компилятора gcc
Компиляция (gcc)
Добрый вечер! После компиляции текстовый файл становится вдруг двоичным, как следствие его.
Компиляция бинарника на gcc
Задача: нужно скомпилировать сырой бинарник на gcc. Он будет грузиться по адресу 0x10000 и туда же.
Компиляция проекта в gcc
Здравствуйте, форумчане! Прошу помочь разобраться! Есть программа, представленная в 3х файлах. В.
компиляция gcc и MSVC
Привет всем. Объясните, почему один и тот же код #include «stdafx.h» #include .
компиляция нескольких файлов GCC
У меня есть 4 файлы. main.c #include #include «main.h» #include «file_1.h» int.
Как установить компилятор gcc / g++ для Windows. Установка gcc
Время чтения: 5 минут
Для того, чтобы писать программы на C/C++ обычно достаточно установить какую-нибудь интерактивную среду разработки (IDE), например, Visual Studio или Eclipse, однако иногда (обычно в целях обучения студентов) требуется создавать программы в обыкновенном текстовом редакторе и компилировать приложение, используя консоль и компилятор gcc. В Unix системах он обычно установлен прямо «из коробки», а вот на Windows системах такой роскоши не наблюдается. Более того, у многих пользователей возникает множество проблем при установке компилятора. Поэтому нами было принято решение написать данную статью, чтобы помочь всем тем, кому пришлось или приходится мучаться с установкой этого компилятора на Windows.
Кстати, если вдруг на вашей Unix системе не установлен GCC, то поставить его можно командой sudo apt install gcc , введя свой пароль и согласившись на установку.
0. Прежде чем поставить компилятор GCC
Перед тем как приступить к установке этого компилятора на ваш компьютер, убедитесь в том, что GCC ещё не установлен на нём. Для этого откройте консоль (нажмите Win + R, введите в появившемся окне cmd и нажмите клавишу Enter) и введите следующую команду: gcc —version и нажмите Enter. Если компилятор уже установлен, то выполненная команда выдаст примерно следующую информацию:
Если в окне консоли появилось сообщение с версией компилятора и другая информация о GCC (второй скриншот), значит компилятор уже установлен и больше дополнительно ничего делать не нужно. А вот если вывод командной строки такой:
— значит GCC ещё не установлен в системе, поэтому двигаемся дальше.
1. Скачиваем установщик компилятора
Чтобы поставить GCC на операционную систему Windows, необходимо скачать установочный файл для него. Сделать это можно здесь: equation.com/servlet/equation.cmd?fa=fortran. Найдите в таблице версию компилятора, которая вам больше нравится (мы рекомендуем скачивать самую последнюю, на текущий момент — это версия 8.2.0) и скачайте установщик для вашей системы (32 или 64 бит).
2. Установка GCC
После того, как файл был скачан, откройте в проводнике папку, в которую был скачан установщик и запустите его, кликнув по файлу дважды левой кнопкой мыши. Появится окно, требующее подтверждения действия. В нём нужно выбрать да (иначе ничего ставиться не будет).
Установщик начнёт работу и отобразит окно с консолью, а также окно с бежевым фоном, в котором попросит прочесть и принять (или отклонить) лицензионное соглашение. Нажимаем Accept.
После этого установщик попросит выбрать путь для установки, предложив по умолчанию путь C:\mingw . Если вам категорически не нравится этот путь — измените его на более подходящий на ваш взгляд, в противном же случае просто нажмите Install.
Теперь остаётся только дождаться окончания распаковки архивов и установки их на компьютер. Как только все файлы будут установлены, инсталятор сообщит об этом, после чего нужно будет нажать на кнопку Finish.
3. Проверка установки
По завершении работы установщика перезагрузите компьютер и вновь откройте окно командной строки, введите команду gcc —version и нажмите Enter. На этот раз ответ от этой команды должен будет совпадать со вторым скриншотом из пункта 0. Если это не так, то скорее всего работа установщика была некорректно или преждевременно завершена, так что просто начните установку заново.
Поздравляем! Теперь на вашем компьютере установлен компилятор GCC и вы можете писать программы на языках C и C++, а компилировать их через командную строку!
4. Бонус. Компиляция программ с помощью GCC
Теперь, когда у вас установлен компилятор GCC, вы можете создавать программы на C/C++, используя только текстовый редактор и консоль. Для этого создайте новый файл и назовите его как угодно (например, hello_world). Задайте ему расширение .c вместо .txt . Напишите (или скопируйте) текст программы на С в этот файл. Откройте командную строку (Win + R, cmd) и введите следующую команду gcc hello_world.c и нажмите Enter. Если код не содержит ошибок, то результатом команды будет пустота. В противном же случае вы увидите все ошибки, который нашёл компилятор в программе с указанием места этой ошибки. При этом в проводнике появится файл a.out.exe , который будет являться исполняемым файлом для написанной программы. Чтобы запустить его введите в консоли a.out (для Unix-систем нужно писать ./a.out ) и нажмите Enter.
Что ещё за a.out? Непонятно!
По умолчанию при компиляции программ GCC в качестве результата создаём исполняемый файл с именем a.out (если такой уже есть, то b.out и т.д.). Это может быть не очень удобно, если у вас в папке лежит сразу много программ, которые нужно скомпилировать и затем запустить. Неудобно хотя бы тем, что разобраться, что такое a.out, а что такое b.out и c.out может быть непросто. Именно поэтому мы рекомендуем компилировать программы с явным указанием имени выходного файла. делается это так: gcc имя_файла.c -o имя_программы .
В результате выполнения такой программы вместо a.out будет создаваться файл с именем, заданным в имя_программы. Например, если для файла hello_world.c мы хотим получить программу hello, то компилировать нужно такой командой: gcc hello_world.c -o hello .
Используя понятные имена выходных программ (исполняемых файлов), вы гарантируете себе простоту работы и сокращение времени на разбирательство спустя долгое время.
Программист, сооснователь programforyou.ru, в постоянном поиске новых задач и алгоритмов
Языки программирования: Python, C, C++, Pascal, C#, Javascript
Выпускник МГУ им. М.В. Ломоносова
А Вы знаете, что мы пишем программы на C, C++, C#, Pascal и Python?
Так что если Вам нужно написать программу на C/C++, C#, Pascal или Python — мы с радостью поможем с этим!
В том числе мы занимаемся репетиторством по информатике и программированию, а также готовим к ОГЭ и ЕГЭ!
Почему именно мы?
- Более 1800 выполненных заказов;
- Более 170 отзывов;
- Качественное решение
- Короткие сроки и привлекательные цены
- Различные акции и скидки
Как с нами связаться?
Programforyou — доверяя нам писать программы, вы получаете качественное решение в короткие сроки по привлекательной цене!
GNU Compiler Collection, первые шаги
Эта заметка призвана на простых примерах познакомить начинающего nix-разработчика с инструментами GNU, в частности с компилятором GCC.
С его помощью мы и создадим простейшую программу. По большому счету все, как обычно. Заводим специальную папку, в которой будет размещаться проект.
Создаем в ней файл с именем: hello.c
Открываем файл в любом текстовом редакторе и пишем простейший код:
#include
int main(void)
<
printf(«Hello world!»);
return(0);
>
Сохраняем файл и выполняем команду: gcc hello.c
В созданной нами папке появился новый файл — a.out, это название присваивается по умолчанию, если специально не задано другого.
Это и есть исполняемый файл. Попробуем его запустить, для этого в консоли набираем: ./a.out
И радуемся в связи с первой написанной программой в линуксе!
Идем далее. При запуске исполняемого файла, если мы укажем только его название, система будет искать его в каталогах /usr/bin и /usr/local/bin, и, естественно, не найдет. Первый из них предназначен для размещения стабильных версий программ, как правило, входящих в дистрибутив Linux. Второй – для программ, устанавливаемых самим пользователем (за стабильность которых никто не ручается). По умолчанию, при сборке программы, устанавливаются в каталог /usr/local/bin.
Флаги используемые при компиляции
Флаг -o используем чтобы указать определенное имя получаемому исполняемому файлу: gcc hello.c -o say_hello
Флаг -E используем чтобы посмотреть, что получается после работы препроцессора. Этот флаг останавливает выполнение программы, как раз на этапе обработки препроцессором. В результате получается файл исходного кода с включённым в него содержимым заголовочных файлов.
Выподняем/смотрим: gcc -E hello.c -o hello.cpp
Флаг -с используем для создания объектных файлов (аналог *.obj): gcc -c kalkul.c
Название получаемого файла такое же, но компилятор изменяет расширение .c на .o (но указать можно и вручную).
Флаг -x используем, если создаётся объектный файл из исходника, уже обработанного препроцессором (например такого, какой мы получили выше), мы должны обязательно указать явно, что компилируемый файл является файлом исходного кода, обработанный препроцессором, и имеющий теги препроцессора. В противном случае он будет обрабатываться, как обычный файл C++, без учёта тегов препроцессора, а значит связь с объявленными функциями не будет устанавливаться.
Файл C++, обработанный препроцессором обозначается cpp-output:
gcc -x cpp-output -c hello.cpp
Собирается проект следующим образом: gcc hello.o -o say_hello
Запускаем: ./say_hello
Для чего нужна вся эта возня с промежуточными этапами?
Программы редко состоят из одного файла. Как правило исходных файлов несколько, и они объединены в проект. И в некоторых исключительных случаях программу приходится компоновать из нескольких частей, написанных, возможно, на разных языках. В этом случае приходится запускать компиляторы разных языков, чтобы каждый получил объектный файл из своего исходника, а затем уже эти полученные объектные файлы компоновать в исполняемую программу.