Форум программистов, компьютерный форум, киберфорум
Наши страницы

Кроссплатформенная разработка

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 705, средняя оценка - 4.96
RNT
Автор FAQ
3137 / 357 / 3
Регистрация: 08.08.2009
Сообщений: 1,126
#1

GCC - компиляция C/C++ программ - Кроссплатформенная разработка

07.11.2009, 11:41. Просмотров 101064. Ответов 1
Метки нет (Все метки)

Обсуждение приветствуется , буду рад пожеланиям по улучшению данной статьи.
Статья в процессе написания, пожелания пишите сюда

ОГЛАВЛЕНИЕ

1. Предисловие
2. Руководство
2.1. Установка MinGW на Windows.
2.2. Прописывание пути к MinGW в Windows.
2.3. Компиляция в Windows`е
2.4. Литература по GCC
2.5. Уменьшение размера исполняемого файла.
1. Предисловие

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

2. Руководство

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 путь_к_папке_с_исходником например:
Bash
1
cd C:\MyProgs
3) Если исходники вашей программы состоят из одного файла, то команда компиляции будет выглядеть так:
g++ исходный_файл
Например:
Bash
1
g++ main.cpp
В результате выполнения этой команды в папке с исходником окажется откомпилированная программа.
4) Если исходники вашей программы состоят из нескольких файлов, то можно написать их имена через пробел:
g++ первый_исходный_файл второй_исходный_файл
Например:
Bash
1
g++ main.cpp func.cpp
5) Если проект состоит из большого числа исходных файлов, то скомпилировать их всех можно командой:
Bash
1
g++ *.cpp
В данной папке все исходные файлы будут скомпилированы в одну программу.
6) Если вы не хотите каждый раз возится с консолью, можете создать *.bat файл и записать в него все необходимые команды. Делается это так: создаете текстовой документ, открываете его с блокнотом и записываете в него необходимые команды, примерно так:
Bash
1
2
g++ *.cpp
PAUSE
Команда PAUSE нужна для того, чтобы после компиляции консоль не закрывалась, чтобы можно было посмотреть результаты компиляции т.к. могут быть сообщения компилятора о синтаксических ошибках в исходнике. После того, как вы запишете необходимые команды в текстовой файл, надо сохранить файл и переименовать его в файл с расширением *.bat. Например make.bat. Этот файл make.bat нужно класть в папку с исходником, и для компиляции необходимо только запустить этот make.bat двойным щелчком.

2.4. Литература по GCC
Официальная документация
Артур Гриффитс "GCC. Полное руководство"

2.5. Уменьшение размера исполняемого файла.
Удаление отладочной информации позволяет уменьшить размер испольняемого файла. Команда выглядит так:
strip имя_исполняемого_файла
Например:
Bash
1
strip main.exe
54
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.11.2009, 11:41
Здравствуйте! Я подобрал для вас темы с ответами на вопрос GCC - компиляция C/C++ программ (Кроссплатформенная разработка):

Компиляция GCC в Windows - Кроссплатформенная разработка
У меня в виндусе GCC для виндуса (портированный) Я хочю на нем (5,1) скомпилировать сам компилятор из исходников. ...

Компиляция Objective-C в GCC - Кроссплатформенная разработка
Пытаюсь выполнить компияцию кода Objective-C с помощью GCC на Windows. Для этого: 1. Установил Dev C++. В его состав входит MinGW,...

GCC:Компиляция в формат elf под Windows - Кроссплатформенная разработка
Можно ли при помощи gcc создать в Windows исполняемый файл в формате elf? Если можно, то как?

Компиляция проекта в gcc - C++
Здравствуйте, форумчане! Прошу помочь разобраться! Есть программа, представленная в 3х файлах. В первом содержится описание класса...

Вышел GCC 4.5.0 - Кроссплатформенная разработка
GNU и команда разработки GCC рады представить релиз GNU Compiler Collection версии 4.5. В новой версии: Добавлена поддержка...

портативный gcc - Кроссплатформенная разработка
Кто-нибудь знает можно ли gcc запускать с флешки? Или как это можно сделать? Просто в универе установлено не то, что мне нужно,...

1
castaway
Эксперт С++
4920 / 3028 / 372
Регистрация: 10.11.2010
Сообщений: 11,085
Записей в блоге: 10
Завершенные тесты: 1
19.01.2017, 22:32 #2
Некоторые поправки и добавления по пунктам:

2.1 В данный момент, самая актуальная версия MinGW находится в составе MSYS2. Краткая инструкция по установке и настройке находится на главной (той же) странице официального сайта.

2.5 Параметр -s (или --strip-all) позволяет максимально уменьшить размер исполняемого файла, удалив из него всю информацию о символах и релокации.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2017, 22:32
Привет! Вот еще темы с ответами:

gcc ресурс - Кроссплатформенная разработка
Есть возможность собрать исходник с ресурсом, то есть файлом например текстовый, который будет помещен в программу и к которому можно будет...

Ресурсы под GCC - Кроссплатформенная разработка
Подозреваю, что в linux это может иначе называться или вообще не поддерживаться средствами операционной системы, но думаю, что какойто...

GCC требует библиотеки - Кроссплатформенная разработка
компилирую программу с MINGW, а она для запуска требует библиотеки из папки bin, libgcc_s_dw2-1.dll и т.д. нельзя ли как-нибудь,...

GCC, статичиские масивы, С++ - Кроссплатформенная разработка
Всем привет. Такой вопрос: как сделать, что бы gcc не компилил такой код: int n; std::cin >> n; int a; ? 8.3.4 Arrays ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru