Для сборки программ с помощью GNU toolchain на Windows часто используют два проекта: Cygwin и MinGW + MSYS. У них схожие цели, но разные детали реализации. Давай разбираться.
Cygwin
Cygwin — самая полная реализация окружения GNU для Windows. Он предоставляет большую часть POSIX API в виде библиотеки, что позволяет собирать программы из UNIX без портирования, если только им не требуется семантика UNIX. Яркий пример — демоны, им нужен fork() и сигналы, которых нет в Windows, да и службы Windows устроены совсем иначе.
Кроме библиотеки, дистрибутив содержит набор классических команд UNIX и терминал. Реализации команд используют эту библиотеку и поддерживают некоторые возможности UNIX, такие как регистрозависимые имена файлов.
Целевой способ использования: если нет желания или возможности портировать программу на Windows или использовать только платформенно независимые API, ее можно собрать «под Cygwin», ценой зависимости от cygwin1.dll и относительной изоляции от всей остальной системы.
MinGW-w64 GCC with Cygwin, Code::Blocks, and Visual Studio code on Windows
Многие люди ставили и продолжают ставить окружение Cygwin, чтобы иметь возможность использовать классические команды UNIX на Windows. Некоторые разработчики также включают Cygwin в инструкции для сборки своих программ под Windows, хотя сама программа не связывается с cygwin1.dll. Для этой цели может быть более правильно использовать MSYS.
MinGW и MSYS
Если цель Cygwin — сделать возможной сборку немодифицированных приложений на Windows ценой внешней зависимости, то цель MinGW + MSYS — производить приложения без внешних зависимостей.
MinGW и MSYS — это независимые пакеты, но их часто путают и смешивают друг с другом (а часто путают и с Cygwin). Можно сказать, что MinGW — это эквивалент GCC и binutils, а MSYS — расширенный эквивалент coreutils.
Начнем с MSYS. MSYS — это более «нативная» и легковесная альтернатива Cygwin. Этот пакет включает библиотеку с реализациями функций POSIX, но она предназначена для внутреннего пользования, и авторы категорически не рекомендуют связывать с ней свои приложения.
Библиотека MSYS не реализует UNIX поверх Windows, а следует соглашениям Windows — к примеру, сознательно не учитывает регистр букв в путях к файлам. Главная цель MSYS — предоставить нужные для скриптов сборки программы вроде Bourne shell, make и прочее, что обычно требуется для autotools.
MinGW содержит версии GCC и binutils (ассемблер as, компоновщик ld и так далее), которые производят исполняемые файлы для Windows в формате PE/COFF. Здесь мы и подходим к ключевому моменту: MinGW, как и все остальные части GNU toolchain, такой же платформенно независимый проект.
Кросс-компиляция в GNU toolchain уже давно обычное дело, и в GCC целевая платформа и хост независимы друг от друга. Можно запускать GCC на Linux для x86 и собирать программы для Linux на ARM, или наоборот. Совпадать не обязаны не только рабочая и целевая архитектуры процессора. Точно так же не обязаны совпадать даже ОС и формат исполняемого файла.
MinGW или Cygwin
Записки программиста
Разработка кроссплатформенных приложений — дело непростое. В особенности оно непростое благодаря Windows, в котором все не как у людей. Тут тебе ни нормального терминала, ни нормальных консольных утилит, вообще ничего нет! В очередной раз столкнувшись с этой проблемой, я решил снова попробовать Cygwin. И знаете, оказывается, он действительно делает из Windows нечто, чем почти можно пользоваться!
Скачать инсталлятор Cygwin можно отсюда. На самом деле, это не столько инсталлятор, сколько пакетный менеджер, который при запуске прямо таки спрашивает, какие пакеты вы хотели бы поставить. Ребята! Пакетный менеджер! Под винду! Инсталлятор создает кэш в каталоге, из которого он будет запущен.
Поэтому перед запуском лучше создать какую-нибудь специальную папочку на рабочем столе и положить инсталлятор в нее.
Какие пакеты на мой взгляд необходимо поставить:
Обратите внимание! Чтобы в Cygwin установить pip, поставьте галочку напротив пакета python-setuptools и/или python3-setuptools. После установки в терминале скажите:
…, смотря какую версию или версии Python вы поставили.
Итак, после установки Cygwin можно открыть терминал:
Ребята! Нормальный терминал, который ресайзится, позволяет копировать и вставлять текст, и вот это все! Под винду! Со всем хорошо знакомыми и привычными командами id, ls, pwd, cat, ssh, scp, и другими. С человеческим окружением — .bashrc, ~/.ssh/config, и так далее. Плюс к этому, в отличие от позорной поделки под названием PowerShell, Cygwin не тащит за собой .NET Framework.
Мы даже можем открыть несколько терминалов и переключаться между ними при помощи сочетания Ctr + Tab. Это почти как табы! Понятное дело, старый-добрый Alt + Tab тоже работает.
Выше я не советовал устанавливать Git, и вот почему. Дело в том, что в Cygwin он заметно тормозит. Тут рекомендуют выполнить команды:
git config —global core.preloadindex true git config —global core.fscache true git config —global gc.auto 256
Но это, к сожалению, не решает проблему полностью. Так на большом проекте команда git status может выполняться секунд 20. В Linux на точно таком же репозитории команда отрабатывает мгновенно. Git for Windows с включенным флагом core.fscache (который можно поставить прямо в инсталляторе) работает заметно лучше, поэтому советую использовать его.
Еще вы можете обнаружить, что курсор очень трудно разглядеть, когда он находится над черным терминалом. В панели управления можно поменять, как выглядит курсор, расположенный над текстом — это решает проблему.
Также расстроило, что среди доступных пакетов не удалось обнаружить Nmap.
В остальном же Cygwin прекрасен и делает жизнь под Windows почти что сносной. Еще с его помощью можно установить Zsh, Gimp, Emacs, Mutt, Irssi, Texlive, Apache, MySQL и PostgreSQL например. Плюс чуть ли не весь KDE можно установить. Правда, на такие эксперименты я не отваживался.
А пользуетесь ли вы Cygwin и каковы ваши впечатления от него?
Метки: Кроссплатформенность, Разработка.
Hello World
Для демонстрации соберем традиционный hello world. У кросс-версий GCC всегда есть префикс, для MinGW используются префиксы i686-w64-mingw32 и x86_64-w64-mingw32.
$ cat ./hello.c #include int main(void) < printf(«hello worldn»); >$ i686-w64-mingw32-gcc -o hello32 ./hello.c $ file ./hello32.exe ./hello32.exe: PE32 executable (console) Intel 80386, for MS Windows
Тестирование кросс-компилированных программ для других архитектур — непростая задача, но, поскольку наша целевая платформа — Windows на x86, мы легко можем протестировать их в Wine:
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее
Аналоги Cygwin
- VMware Workstation
- WD SmartWare
- Glary Utilities Pro
- Realtek Ethernet Controller Driver
- Joxi
- RadioSure
Эта статья будет полезна начинающим пользователям Cygwin. Начнем с того, что нам для начала нужно ответить на простой вопрос. Что же такое Cygwin? Cygwin — это UNIX-подобная среда и интерфейс командной строки для Microsoft Windows. В системе Microsoft Windows уже существует подобный интерфейс cmd. Вызвать командную строку можно сочетанием клавиш Win+R.
Но зачастую большую часть работы Windows пользователям приходится делать вручную. По другую сторону Linux пользователь уже давно написал bash-скрипт и сидит пьет пиво в сторонке от автоматизированного рабочего процесса.
Так что же мешает сделать это и в ОС Windows? Правильно, абсолютно ничего не мешает. Но для этого нужны дополнительные программы и библиотеки. Программа Cygwin расширяет возможности стандартной командной строки Windows, позволяя автоматизировать некоторые процессы и разрабатывать программы для Linux и других систем.
Выбираем нужную версию, скачиваем и запускаем исполнительный файл setup-x86.exe и setup-x86_64.exe соответственно.
Окно установки 64 битной версии программы
Окно выбор способа установки
Окно выбора пакетов
Окно установки 32 битной версии программы выглядит точно так же как и 64 битной. Следующим шагом будет окно выбора. Откуда устанавливать или скачивать программу. Всего есть три варианта. Первый вариант Install from Internet (downloaded files will be kept for future re-use) установка из интернета причем загруженные файлы будут храниться до следующего повторного использования.
Второй вариант Download Without Installing скачать без установки. Третий вариант Install from Local Directory установка из локального каталога. Т.к. у нас нет локальной копии и нам нужно установить то выбираем первый вариант. Следующее окно будет выбор пути установки. Рекомендую выбрать системный диск, к примеру у меня путь установки Cygwin это C:cygwin64.
Следующее окно это выбор пути где будут храниться временный файлы которые будут скачиваться в процессе установки. У меня это C:cygwin64package. Потом нужно выбрать как скачивать через прокси или напрямую. Следующим шагом будет выбор репозитория скачки выбираем любой попавшийся или тот что по умолчанию и жмем Далее.
После нажатия кнопки далее начнется процесс скачивания основных конфигов. Следом вы сможете выбрать что устанавливать. Чтобы выбрать пакет нужно нажать Skip около названия пакета. Список пакетов которые вам пригодятся:
- gcc-core (в разделе Devel)
- gcc-g++ (в разделе Devel)
- make (в разделе Devel)
- cmake (в разделе Devel)
- automake (в разделе Devel)
- wget (в разделе Web)
- libiconv (в разделах Devel и Libs)
- openssh (в разделе Net)
- nano (в разделе Editors)
- bash (из раздела Base)
- base-cygwin (из раздела Base)
- base-files (из раздела Base)
- cygwin (из раздела Base)
- file (из раздела Base)
- gzip (из раздела Base)
- login (из раздела Base)
- mintty (из раздела Base)
- openssl (из раздела Base)
- run (из раздела Base)
- tar (из раздела Base)
- vim-minimal (из раздела Base)
- cron (из раздела Admin)
- shutdown (из раздела Admin)
- git (все пакеты из раздела Devel)
Cygwin
Cygwin — это набор инструментов, обеспечивающий Unix подобную среду в Windows. Здесь нельзя запускать уже существующие утилиты для Linux. Для того чтобы выполнить linux команду из Windows Cygwin, ее нужно сначала перекомпилировать.
Тем не менее пересобрано уже достаточно много программного обеспечения. Cygwin даст вам Linux подобную среду со многими утилитами, к которым вы уже привыкли в Linux. Его можно использовать как для стандартных утилит таких как команда cp windows, так и для подключения к удаленному серверу по ssh.
Установка Cygwin
Как и другие программы Windows, Cygwin устанавливается с помощью установщика в формате .exe. Скачать его можно на официальном сайте.
Для установки вам придется пройти несколько шагов мастера, по умолчанию программа будет установлена в C:Cygwin:
С установочным пакетом не поставляется полный набор окружения. Оно будет загружено в процессе установки. В этом окне нужно выбрать сервер для загрузки компонентов:
Затем необходимо выбрать пакеты, которые нужно загрузить и установить. Доступно довольно-таки много программ и они рассортированы по категориям. Если вы не знаете нужен ли вам тот или иной пакет, оставьте значение по умолчанию. Вы сможете установить их потом:
Осталось только нажать Next для начала загрузки и завершения установки.
Добавление Cygwin в Path
После завершения установки, чтобы выполнить команды linux в windows с максимальным удобством, желательно добавить папку с исполняемыми файлами Cygwin в переменную среды Path.
Вы можете запустить терминал Cygwin, кликнув по ярлыку на рабочем столе. Откроется терминал с папкой C:Cygwinbin
Здесь можно выполнять все нужные linux команды в windows, но вы не сможете их выполнить в другой директории или другом терминале.
Чтобы решить эту проблему, необходимо добавить папку Cygwin в переменную Path. Откройте окно свойства системы с помощью сочетания клавиш Win+Pause/Break, затем выберите пункт Дополнительные параметры системы на левой панели:
На вкладке дополнительно выберите Переменные среды:
Найдите в списке переменную Path и нажмите Изменить:
Добавьте в конец строки вот такую запись:
Обратите внимание, что все пути должны быть разделены точкой с запятой. Осталось нажать Ок и тестировать выполнение Linux команд в Windows.
Источник: inodroid.ru
Cygwin или mingw собираем программы для windows без windows
Bitbucket использовался для распространения малвари, которую загрузили более 500 000 раз
2020-02-06 13:30 Мария Нефёдова
Хакеры использовали сервис Bitbucket для хостинга малвари. Исследователи обнаружили семь видов малвари, задействованных в активной до сих пор кампании.
Умные лампочки Philips Hue позволяют заразить сеть малварью
2020-02-06 21:00 Мария Нефёдова
Специалисты Check Point предупредили, что злоумышленники могут использовать уязвимости в протоколе ZigBee для доставки малвари, скомпрометировав умные лампочки и их контроллеры.
Эксперты показали извлечение данных с изолированного ПК через изменение яркости экрана
2020-02-06 22:00 Мария Нефёдова
Израильские специалисты использовали изменение яркости LCD-экрана для извлечения данных с защищенных машин.
В сети нашли базу клиентов микрофинансовых организаций
2020-02-07 10:30 Мария Нефёдова
СМИ сообщили, что в сети выставлена на продажу база клиентов микрофинансовых организаций, содержащая данные 1,2 млн человек.
Скоро Chrome будет блокировать навязчивую видеорекламу и загрузки через HTTP
2020-02-07 11:30 Мария Нефёдова
Отраслевая группа Coalition for Better Ads, в которую входит Google, вводит новые правила для видеорекламы, а разработчики Chrome собираются блокировать загрузку файлов через HTTP.
Cygwin или MinGW? Собираем программы для Windows без Windows
2020-02-07 12:45 Даниил Батурин
Для подписчиков
Большая часть разработчиков свободного софта работает на Linux или Mac, а вот поддержка Windows обычно реализована по остаточному принципу. Заработало — хорошо, не заработало — пускай портирует тот, кому это нужно. В этой статье я покажу, как создавать нативные исполняемые файлы для Windows, не имея этой системы под рукой.
Источник: subscribe.ru
Windows gcc 64 bit
Для создания программ на Си необходим текстовый редактор, с помощью которого можно набрать исходный код. И также необходим компилятор, который принимает файл с исходным кодом на Си и компилирует его в исполняемый файл.
В качестве компилятора мы будем использовать наиболее популярный на сегодня компилятор gcc, который доступен для разных платформ. Более подобному информацию о GCC можно получить на официальном сайте проекта https://gcc.gnu.org/. Набор компиляторов GCC распространяется в различных версиях. Одной из наиболее популярных версий является пакет средств для разработки от некоммерческого проекта Mingw-w64. Для установки соответствующего пакета компиляторов загрузим файл установщика по ссылке https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/installer/mingw-w64-install.exe/download При запуске установщика откроется следующее окно:
Нажмем на кнопку Next > и перейдем к следующему шагу: Если версия ОС 64-битная, то в поле Architecture следует выбрать пункт x86_64 . Остальные настройки оставим по умолчанию и нажмем на кнопку Next > . На следующем шаге укажем путь, по которому будет устанавливаться пакет:
Можно оставить настройки по умолчанию. И после перехода к следующему шагу собственно начнется установка. После завершения установки на жестком диске по пути, которое было выбрано для установки, появятся все необходимые файлы компиляторов. В моем случае они находятся по пути C:Program Files (x86)mingw-w64i686-7.1.0-posix-dwarf-rt_v5-rev0mingw32bin :
В зависимости от версии пакета точный путь может отличаться, но в любом случае все файлы будут располагаться по тому пути, который был указан на шаге установки. В частности, файл gcc.exe как раз и будет представлять компилятор для языка Си. Далее для упрощения запуска компилятора мы можем добавить путь к нему в Переменные среды.
Для этого перейдем к окну Система -> Дополнительные параметры системы -> Переменные среды : И добавим путь к компилятору:
Итак, компилятор установлен, и теперь мы можем написать первую программу. Для этого потребуется любой текстовый редактор для набора исходного кода. Можно взять распространенный редактор Notepad++ или даже обычный встроенный Блокнот.
Итак, создадим на жестком диске папку для исходных файлов. А в этой папке создадим новый файл, который назовем hello.c . В моем случае файл hello.c находится в папке C:c. Теперь определим в файле hello.c простейший код, который будет выводить строку на консоль: Для вывода строки на консоль необходимо подключить нужный функционал. Для этого в начале файла идет строка Директива include подключает заголовочный файл stdio.h, который содержит определение функции printf, которая нужна для вывода строки на консоль. Далее идет определение функции int main(void) . Функция main должна присутствовать в любой программе на Си, с нее собственно и начинается выполнение приложения.
Ключевое слово int в определении функции int main(void) говорит о том, что функция возвращает целое число. А слово void в скобках указывает, что функция не принимает параметров. Тело функции main заключено в фигурные скобки <>. В теле функции происходит вывод строки на консоль с помощью функции printf, в которую передается выводимая строка «Hello world!».
В конце осуществляем выход из функции с помощью оператора return . Так как функция должна возвращать целое число, то после return указывается число 0. Ноль используется в качестве индикатора успешного завершения программы. После каждого действия в функции ставятся точка с запятой. Теперь скомпилируем этот файл. Для этого откроем командную строку Windows и вначале с помощью команды cd перейдем к папке с исходным файлом: Источник
Cygwin или MinGW? Собираем программы для Windows без Windows
В общем-то, даже в Microsoft уже признали проблему и сделали WSL (Windows Subsystem for Linux), чтобы запускать те приложения, у которых нативных версий под Windows нет. Однако если ты хочешь сделать свою программу доступной для широкой аудитории, то WSL вовсе не панацея, поскольку у среднего пользователя эта система вряд ли установлена и у нативных приложений возможностей для интеграции с Windows все равно больше.
Во многих случаях камень преткновения — не сам код программы, а система сборки. Если ты используешь кросс-платформенные библиотеки и не вызываешь специфичные функции POSIX, портирование может вообще не требоваться. Главное — собрать исполняемые файлы. Сборка-то обычно и зависит от окружения POSIX. Если ты используешь GNU autotools, то скрипт ./configure у тебя на Bourne shell.
CMake и ряд других систем сборки умеют генерировать скрипты под целевую ОС, но остается последняя «маленькая» проблема — нужна проприетарная и не бесплатная ОС. Есть вариант переложить задачу ее развертывания и лицензирования на кого-то другого и обратиться к сервису вроде Appveyor. Но можно вместо этого воспользоваться способностью GCC к кросс-компиляции и собирать программы на хосте с Linux (или macOS).
GNU и Windows
Для сборки программ с помощью GNU toolchain на Windows часто используют два проекта: Cygwin и MinGW + MSYS. У них схожие цели, но разные детали реализации. Давай разбираться.
Cygwin
Cygwin — самая полная реализация окружения GNU для Windows. Он предоставляет большую часть POSIX API в виде библиотеки, что позволяет собирать программы из UNIX без портирования, если только им не требуется семантика UNIX. Яркий пример — демоны, им нужен fork() и сигналы, которых нет в Windows, да и службы Windows устроены совсем иначе. Кроме библиотеки, дистрибутив содержит набор классических команд UNIX и терминал. Реализации команд используют эту библиотеку и поддерживают некоторые возможности UNIX, такие как регистрозависимые имена файлов.
Целевой способ использования: если нет желания или возможности портировать программу на Windows или использовать только платформенно независимые API, ее можно собрать «под Cygwin», ценой зависимости от cygwin1.dll и относительной изоляции от всей остальной системы. Многие люди ставили и продолжают ставить окружение Cygwin, чтобы иметь возможность использовать классические команды UNIX на Windows. Некоторые разработчики также включают Cygwin в инструкции для сборки своих программ под Windows, хотя сама программа не связывается с cygwin1.dll . Для этой цели может быть более правильно использовать MSYS.
MinGW и MSYS
Если цель Cygwin — сделать возможной сборку немодифицированных приложений на Windows ценой внешней зависимости, то цель MinGW + MSYS — производить приложения без внешних зависимостей. MinGW и MSYS — это независимые пакеты, но их часто путают и смешивают друг с другом (а часто путают и с Cygwin). Можно сказать, что MinGW — это эквивалент GCC и binutils, а MSYS — расширенный эквивалент coreutils. Начнем с MSYS.
MSYS — это более «нативная» и легковесная альтернатива Cygwin. Этот пакет включает библиотеку с реализациями функций POSIX, но она предназначена для внутреннего пользования, и авторы категорически не рекомендуют связывать с ней свои приложения. Библиотека MSYS не реализует UNIX поверх Windows, а следует соглашениям Windows — к примеру, сознательно не учитывает регистр букв в путях к файлам.
Главная цель MSYS — предоставить нужные для скриптов сборки программы вроде Bourne shell, make и прочее, что обычно требуется для autotools. MinGW содержит версии GCC и binutils (ассемблер as, компоновщик ld и так далее), которые производят исполняемые файлы для Windows в формате PE/COFF. Здесь мы и подходим к ключевому моменту: MinGW, как и все остальные части GNU toolchain, такой же платформенно независимый проект.
Кросс-компиляция в GNU toolchain уже давно обычное дело, и в GCC целевая платформа и хост независимы друг от друга. Можно запускать GCC на Linux для x86 и собирать программы для Linux на ARM, или наоборот. Совпадать не обязаны не только рабочая и целевая архитектуры процессора. Точно так же не обязаны совпадать даже ОС и формат исполняемого файла.
Ставим MinGW
Авторы многих дистрибутивов GNU/Linux уже постарались за нас, так что многие кросс-версии GCC, включая MinGW, можно поставить из репозиториев. Если ты используешь macOS, то MinGW можно поставить из Homebrew: brew install mingw-w64 . MinGW-w64, несмотря на название, поддерживает и Win32, и Win64. Это форк MinGW, который создали в первую очередь для реализации недостающей в оригинальном проекте поддержки Win64, отсюда и название. В Fedora также присутствует ряд готовых кросс-версий популярных библиотек, например mingw32-qt .
Hello World
Для демонстрации соберем традиционный hello world. У кросс-версий GCC всегда есть префикс, для MinGW используются префиксы i686-w64-mingw32 и x86_64-w64-mingw32 . Тестирование кросс-компилированных программ для других архитектур — непростая задача, но, поскольку наша целевая платформа — Windows на x86, мы легко можем протестировать их в Wine:
Продолжение доступно только участникам
Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте
Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее Источник
Как установить компилятор 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 — доверяя нам писать программы, вы получаете качественное решение в короткие сроки по привлекательной цене!
Источник: onecomp.ru