Есть ли разница между GCC(g++) и Visual Studio?
Есть пару вопросов от начинающего.
Вопросов не пара, а три. 🙂
Если программа корректно компилируется в VS, будет ли она корректно компилироваться в g++(GCC)?
Не факт, но при некоторых усилиях можно добиться, чтобы компилировалось и там и там.
Сама утилита make ничего не компилирует, make это система для сборки, которая использует внешний компилятор.
Если программа корректно компилируется в VS на Windows 10, будет ли она корректно компилироваться на Linux?
Опять же смотря какой компилятор Вы примените в Linux. Кстати, компилироваться может и будет, а работать не будет, так как системные вызовы в Windows и Linux разные.
Есть ли возможность проверить будет ли программа компилироваться в Linux и в g++(GCC)?
Конечно, такая возможность есть. Ставите VS и GCC и проверяете.
Не обязательно ставить Linux, чтобы проверить компилируемость Вашей программы под GCC. Есть порты GCC под Windows.
В связи с захватывающим спором коллег о природе утилиты make я не поленился и поглядел, как в Википедии определяется эта утилита. Вот что там написано:
make — утилита, автоматизирующая процесс преобразования файлов из одной формы в другую. Чаще всего это компиляция исходного кода в объектные файлы и последующая компоновка в исполняемые файлы или библиотеки.
Утилита использует специальные make-файлы, в которых указаны зависимости файлов друг от друга и правила для их удовлетворения. На основе информации о времени последнего изменения каждого файла make определяет и запускает необходимые программы.
g++ vc gcc
Сестренке в универе задала вопрос преподша: «В чем разница между g++ и gcc?» Я и коллеги курили над манами больше часа, и вот список различий:
g++ для плюсов, gcc — менеджер компиляторов.
gcc -x mail.cpp скомпилит объектный файл, который можно слинковать при помощи gcc.
Все остальные отличия сводятся к отличию между языками — включение/отключение исключений, поддержка/отключение RTTI, и т.д.
Преподавательнице мало) Я уже заинтригованный завтра пойду к тйотке в универ, мне аж интересно, чего же там такое учат студенты, что девелоперы юзающие компилеры каждый день не знаю больше различий, даже при поддержке манов.
Либо как вариант сделать diff на бинарники и исходники =)))
gcc vs g++: What’s the Difference?
gcc and g++ compilers work quite similar when it comes to compiling C programs in Linux. Here’s how they are different from each other.
gcc vs g++: What’s the Difference?
Have you ever thought about the difference between GCC and G++? Well, if I were to answer this in one sentence, it would be «GCC is used to compile C programs whereas G++ is for C++».
But there’s a lot more to talk about, such as how you install and use them.
So let’s start with the basic introduction.
What is the difference between GCC and G++?
The GCC compiler is used to compile the C programs, whereas the G++ is used for C++ programs. While you could still use GCC to compile C++ program (by using it in gcc -xc++ -lstdc++ -shared-libgcc format, g++ provides a simpler syntax.
Actually, GCC (GNU Compiler Collection) is a super set of various compilers. It has g++ for C++ and GNAT for Ada programming language.
While gcc is capable of compiling C++ programs with help of special flags, you should use g++ instead. The g++ compiler links to standard C++ libraries by default. GCC can also do that but not by default.
To summarize, use GCC is for compiling C programs and g++ for C++.
Now, let’s have a look at the installation.
Installation
Being one of the most essential tools for compiling C and C++ programs in Linux, they both are available in the repositories of all Linux distributions.
Here’s how you install it on various Linux distributions:
For Ubuntu/Debian base:
sudo apt install gcc g++
sudo dnf instal gcc g++
sudo pacman -S gcc
(Arch includes G++ in the GCC package itself)
Usage
In this section, I will walk you through how you can compile C and C++ programs using GCC and G++.
To make this guide accessible, I will be using the following C programming code:
#include int main()
And here’s the C++ code:
#include int main()
They both should print a simple Hello, World! line.
Compile and run C code
To compile a C program, you can use gcc or g++. If you want to use gcc, here’s the syntax that you need to follow:
gcc -o my_program my_program.c
- -o is used to specify the output file
- my_program is where you specify the name of the output file
- my_program.c is where you append the name of the input file
For example, here’s how I compiled my hello.c file using the GCC compiler:
gcc -o hello hello.c
To execute any compiled file, add ./ before the name of the compiled file:
./hello

Similarly, if you want to use G++ to compile the C program, use the following:
g++ -o cpp_program cpp_program.c
Here’s how I compiled and ran the same hello.c program with G++:

The && operator is used to run multiple commands but the compilation code will be executed first and then the execution will be done.
Compile and run C++ code
To compile C++ code, you have to use the G++ compiler in the following manner:
g++ -o my_code my_code.cpp
Once done, you can run the code using the executable file:
./my_code
For example, here’s how I compiled hello.cpp file using the G++ compiler:
g++ -o hello hello.cpp && ./hello

Next: Here are some important GCC flags
If you are just getting started with the C programming, you are about to use GCC a lot but there are multiple flags that you can use while compiling code.
I hope you will find this guide helpful.
gcc и g++: В чем разница?

Задумывались ли вы когда-нибудь о разнице между GCC и G++?
Если ответить на этот вопрос одним предложением, то это будет “GCC используется для компиляции программ на языке Си, а G++ – для Си++”.
Но можно рассказать еще о многом, например, о том, как их устанавливать и использовать.
Поэтому давайте начнем с базового введения.
В чем разница между GCC и G++?
Компилятор GCC используется для компиляции программ на языке Си, а G++ – для программ на языке Си++.
Хотя для компиляции программ на Си++ можно использовать GCC (используя его в формате gcc -xc++ -lstdc++ -shared-libgcc), g++ обеспечивает более простой синтаксис.
Вообще-то, GCC (GNU Compiler Collection) – это супернабор различных компиляторов.
В него входят g++ для языка Си++ и GNAT для языка программирования Ada.
Хотя gcc способен компилировать программы на языке Си++ с помощью специальных флагов, лучше использовать g++.
Компилятор g++ по умолчанию ссылается на стандартные библиотеки Си++.
GCC также может это делать, но не по умолчанию.
Установка
Будучи одним из самых необходимых инструментов для компиляции программ на языках C и C++ в Linux, он доступен в репозиториях всех дистрибутивов Linux.
Ниже описано, как установить его в различных дистрибутивах Linux:
sudo apt install gcc g++
sudo dnf instal gcc g++
sudo pacman -S gcc
(Arch включает G++ в состав самого пакета GCC)
Использование
В этом разделе мы расскажем о том, как компилировать программы на языках Си и Си++ с помощью GCC и G++.
Чтобы сделать это руководство доступным, я буду использовать следующий программный код на языке Си:
#include int main()
А вот код на языке C++:
#include int main()
Они оба должны вывести простую строку Hello, World!
Компиляция и выполнение кода на языке Си
Для компиляции программы на языке Си можно использовать gcc или g++. Если вы хотите использовать gcc, то вот синтаксис, который необходимо соблюдать:
gcc -o my_program my_program.c
- -o используется для указания выходного файла
- my_program – это место, где указывается имя выходного файла
- my_program.c – это место, куда добавляется имя входного файла.
Например, вот как я скомпилировал свой файл hello.c с помощью компилятора GCC:
gcc -o hello hello.c
Чтобы выполнить любой скомпилированный файл, добавьте ./ перед именем скомпилированного файла:
./hello
Аналогично, если вы хотите использовать G++ для компиляции программы на языке C, выполните следующее:
g++ -o cpp_program cpp_program.c
Компиляция и запуск кода на языке C++
Для компиляции кода на языке C++ необходимо использовать компилятор G++ следующим образом:
g++ -o my_code my_code.cpp
После этого код можно запустить с помощью исполняемого файла:
./my_code
Например, вот как я скомпилировал файл hello.cpp с помощью компилятора G++:
g++ -o hello hello.cpp && ./hello
- Python скрипт для отправки электронного письма через SMTP-сервер
- Как создавать многострочные комментарии в shell скриптах
- Простой способ удалить программы, установленные из исходников в Linux
- Предотвращение случайного удаления или изменения файлов и папок в Linux