В чем разница между g и gcc
Перейти к содержимому

В чем разница между g и gcc

  • автор:

Есть ли разница между 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

compile and run C program

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++:

compile and run C program using G++ in Linux

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

Compile and run C++ code using the G++ in Linux

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *