GCC
Введение | |
Проверить наличие | |
Установка MinGW | |
Установка в WSL | |
Установка Cygwin | |
Установка в Linux | |
Другие статьи о Си |
Введение
GNU Compiler Collection (обычно используется сокращение GCC) — набор компиляторов для различных языков программирования, разработанный в рамках проекта GNU. GCC является свободным программным обеспечением, распространяется фондом свободного программного обеспечения (FSF) на условиях GNU GPL и GNU LGPL и является ключевым компонентом GNU toolchain. Он используется как стандартный компилятор для свободных UNIX-подобных операционных систем.
Изначально названный GNU C Compiler поддерживал только язык Си. Позднее GCC был расширен для компиляции исходных кодов на таких языках программирования, как
C++, Objective-C,
Java, Фортран, Ada, Go, GAS и D.
С версии 4.2.2 GCC перешёл на лицензию GPLv3.
Перед установкой
Проверить, установлен ли gcc можно в cmd командой
gcc --version
Если gcc установлени, Вы увидите версию
Если gcc не установлен, Вы увидите следующее сообщение
Microsoft Windows [Version 10.0.18363.720] (c) 2019 Microsoft Corporation. All rights reserved. C:\Users\Andrei>gcc --version 'gcc' is not recognized as an internal or external command, operable program or batch file.
Установка
Для работы в Windows нужен MinGW скачать его можно на сайте
nuwen.net/mingw.html
Для этой статьи использовался mingw-17.1.exe
Далее действуйте по инструкции
Двойной клик на mingw-17.1.exe


После установки нужно добавить C:\MinGW\bin в системную переменную среды PATH.
Если Вы не знаете как это сделать, прочитайте мою статью
«Системная переменная PATH»
Теперь команда gcc --version должна возвращать версию компилятора.
gcc --version
Microsoft Windows [Version 10.0.18363.720] (c) 2019 Microsoft Corporation. All rights reserved. C:\Users\Andrei>gcc --version gcc (GCC) 9.2.0 Copyright (C) 2019 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Если этого не происходит - перезапустите консоль. Если не помогло - перезапустите Windows.
После установки
Итак, Вы установили MinGW написали простейшую программу 3.cpp, компилируете с помощью gcc
gcc 3.cpp
А в ответ
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\Andrei\AppData\Local\Temp\ccuoNssB.o:3.cpp:(.text+0x28): undefined reference to `std::ios_base::Init::~Init()' c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/9.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:\Users\Andrei\AppData\Local\Temp\ccuoNssB.o:3.cpp:(.text+0x58): undefined reference to `std::ios_base::Init::Init()' collect2.exe: error: ld returned 1 exit status
Мой совет - попробуйте g++
g++ 3.cpp
Если Вы планируете писать софт, который должен будет работать под
UNIX-подобными ОС, например
Linux
или
OpenBSD
то устанавливать MinGW не стоит.
Попробуйте добавить в Ваш Windows подсистему для Linux и установить gcc там.
Установка gcc в подсистеме Linux для Windows
sudo apt-update
sudo apt install build-essentials
gcc -v
Установка Cygwin
Если по каким-то причинам Вам не подходят перечисленные выше варианты - установите cygwin
cygwin.com
У меня пока что только негативный опыт работы с ним, но у Вас может получиться лучше.
ISOCPP isocpp.org
Установка GCC в Linux
В зависимости от типа Linux выполните
sudo apt -y install gcc
Для Debian , Ubuntu и других deb
Или
sudo yum -y install gcc
Для CentOS , Rocky , RHEL и других rpm
Программирование на C | |
Учебник по Си | |
Boolean в Си | |
Сокеты в Си | |
К и Р | |
Что такое argc, char * argv[] | |
Функция scanf() | |
Указатели | |
Структуры в Си | |
Оператор «стрелка» указатель на член структуры |