Linux kernel development для самых маленьких

Step 5. Test GCC compilers

In order to test our compilers, we will run a few very simple C++ programs.

Open your favorite editor (in our example we are using nano as editor)

nano hello_world.cpp

and enter the code inside.

// Simple C++ "Hello World" program

// Header file for input output functions
#include

using namespace std;

// main function -
// where the execution of program begins

int main()
{
// prints hello world
cout<<"Hello World ! \n";

return 0;
}

After we save our project, we can compile it with the following command:

g++ hello_world.cpp -o hello

When the compiling process is done, there should be a file called hello in the current directory. We can check this if we list the files and directories with this command:

ls -lah

Now we can test our project with:

./hello

By executing the hello command we will receive the following output:

Hello world !

In the following example, we can test the generalized lambda capture, also known as init capture that was introduced in the C++ 14 standard.

nano test.cpp
// C++14 standard could use "auto" for the type of a parameter
#include

int main() {
std::cout << [](auto a, auto b) { return a + b; } (4, 3) << std::endl;
std::cout << [](auto a, auto b) { return a + b; } (4.23, 6.25) << std::endl;
return 0;
}

Paste the code inside the test.cpp and save it. Now we can compile our code with the command:

g++-8 -Wall -pedantic test.cpp -o test

When the compiling process is complete, we can execute:

./test

And we will receive the following output:

7
10.48

And that’s it. In this article we managed to install the GCC compiler from source and repository, we also verified the installation of GCC. We installed the dev man pages, and at the end, we tested the GCC compilers with two very simple examples.

Of course, you don’t have to install GCC on Ubuntu 18.04 if you use one of our Managed VPS Support services, in which case you can simply ask our expert Linux admins to install GCC on your Ubuntu 18.04 server for you. They are available 24×7 and will take care of your request immediately.

PS. If you liked this post on how to install GCC on Ubuntu 18.04, or if you found it helpful, please share it with your friends on the social networks using the share shortcuts, or simply leave a reply below. Thanks.

Step 3. Verify GCC Installation

We can check if GCC is properly installed with the command below:

sudo whereis gcc make

Output:

gcc: /usr/bin/gcc /usr/lib/gcc /usr/share/man/man1/gcc.1.gz
make: /usr/bin/make /usr/share/man/man1/make.1.gz /usr/share/man/man1/make.1posix.gz

Alternatively, we can run

sudo gcc-8 --version

Output:

gcc-8 (Ubuntu 8.2.0-1ubuntu2~18.04) 8.2.0
Copyright (C) 2018 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.

To get the version of make, you can use these commands:

make -v

or

make --version

and we will have an output similar to this:

GNU Make 4.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

37 comment

thank you so much ur solution gave a relief… it made my gcc command to work

Very nice article…..

In Fig. 01, you did “whereis†twice. Shouldnâ€t it be “which†the second time? Thanks for the tut though. Big fan!

Another mistake, please change the following comment: ## assuming that executable-file-name.c exists ## to ## assuming that program-source-code.c exists in the current directory ##

how to compile a program that use math functions and other things?

For the sake of supplying an example, let’s say you want to use the cosine function. This is supplied in the Linux math library. The cosine function is called ‘cos()’. Similarly, the sine function is called ‘sin()’.

First, to find information about how to use them, type “man cos” in a terminal session. This gives you the manual page for the cosine function. The output from ‘man’ may vary for your system, but it likely tells you three things: 1. first, include the math.h header, 2. cos() takes a ‘double’ as its argument and it returns a double as its output, 3. to build your program, tell the C compiler to include the math library (-lm).

Here’s a sample program that does all of this:

Love it! Thank you. I have a trouble in doing step 1 and 2. But they are fixed.

thank u , need pdf of the commands guide to access the c/c++/java.

to compile and run a c++ program in ubuntu follow these simple steps: 1 open terminal window. 2 type “gedit” . 3 A gedit window will appear whereyou can write your program. 4 save your program as “filename.cpp” on desktop, “.cpp” is compulsory. 5 open terminal again and type “cd Desktop”. 6 In second line type “g++ filename.cpp”. 7 Type “./a.out”. NOW YOUR WILL RUN.

very nice to your step. thanks

Thanks! This article really helped me to find the GNU compiler in a Linux Operating System and showed me how to compile a C program.

dear sir, what is the procedure to run .cpp program in linux distro debian 5 ?

just about to get around to learning c along with teaching my sons it. i had no idea where to start, the first page i checked is a bumper bonanza.

Installing multiple G++ compilers on Ubuntu 20.04 LTS

With GCC compilers installed, we can now proceed to install multiple versions of G++ compilers.

sudo apt install build-essential 
sudo apt -y install g++-7 g++-8 g++-9


Install G++ Compilers

Alternatively, you can install both GCC and G++ compilers with a single command, as shown below.

sudo apt install build-essential
sudo apt -y install gcc-7 g++-7 gcc-8 g++-8 gcc-9 g++-9

Creating a list of GCC and G++ alternatives with update-alternatives

Step 1. Launch the Terminal and execute the commands below one by one.

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 7
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-7 7
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 8
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 9
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-9 9


Create a List of GCC and G++ alternatives

Step 2. Check the GCC and G++ lists available on your system and select the default compiler you wish to use for your development. Let’s start by setting up the GCC compiler.

Launch your Ubuntu Terminal and execute the command below.

sudo update-alternatives --config gcc


Set your default GCC compiler.

Select the GCC compiler you wish to use by selecting the number under the selections menu. In this tutorial, I chose option two(2) since I wanted to use GCC-8 as my compiler for my current project.

Step 3. Now let’s do the same and choose our default G++ compiler. Execute the command below.

sudo update-alternatives --config g++


Select the Default G++ Compiler

Here, I am also interested in using G++-8, and therefore, I will select option two(2), as shown in the image above.

To switch to another GCC or G++ compiler, repeat the config process in steps two(2) and three(3) above. Select a different option to set another Compiler version that you wish to use.

To affirm the changes we have made running the version command on the Terminal for each compiler.

gcc --version
g++ --version


Run the G++ and GCC version command.

From the image above, we can see that the system shows the GCC and G++ compilers that we configured to use as defaults.

That’s all about how you can install multiple versions of GCC and G++ compilers and switch between each of them on your Ubuntu machine. If you have additional information, feel free to share it with our readers in the comment section below.

▍Установка LLVM 12 и Clang

Cборка LLVM 12 из Arch User Repository

makepkg MAKEFLAGS NINJAFLAGS

ESCSHIFT + :(буква Ж)wqwqq!vimtutor

  • Build with clang and llvm toolchain? — Собрать с помощью llvm и clang? Отвечаем Y или Enter если да, и N если нет. Рекомендую собирать LLVM с помощью Clang.
  • Skip build tests? Пропустить сборку тестов? Отвечаем Y или Enter. Так как во время сборки, не все тесты проходят проверку, то сборка будет прекращена. Поэтому мы пропускаем сборку тестов, и на самом деле сборка будет идти даже быстрее.
  • Skip build documentation? Пропустить сборку документации? Отвечаем Y или Enter если да, и N если нет. Если вам не нужна документация, то можно пропустить, это ускорит сборку. Лучше читать документацию на официальном сайте, это удобнее.
  • Skip build OCaml and Go bindings? Пропустить сборку OCaml и Go биндингов? Отвечаем Y или Enter если да, и N если нет. Для большинства ответ Y и их сборку можно смело пропустить в угоду скорости сборки. Для тех кому они нужны, а это очень маленькое количество людей могут ответить N.

3. Процесс сборки программы

Перед тем как мы перейдем к практике и создадим свою первую программу, нужно разобрать как происходит процесс сборки, из каких этапов он состоит.

Каждая серьезная программа состоит из множества файлов, это файлы исходников с расширением .c и заголовочные файлы с расширением .h. Такие заголовочные файлы содержат функции, которые импортируются в программу из библиотек или других файлов .с. Перед тем. как компилятор сможет собрать программу и подготовить ее к работе, ему нужно проверить действительно ли все функции реализованы, доступны ли все статические библиотеки и собрать ее в один файл. Поэтому, первым делом выполняется препроцессор, который собирает исходный файл, выполняются такие инструкции, как include для включения кода заголовочных файлов.

На следующем этапе к работе приступает компилятор, он выполняет все необходимые действия над кодом, разбирает синтаксические конструкции языка, переменные и преобразовывает все это в промежуточный код, а затем в код машинных команд, который мы можем потом посмотреть на языке ассемблера. Программа на этом этапе называется объектный модуль и она еще не готова к выполнению.

Далее к работе приступает компоновщик. Его задача связать объектный модуль со статическими библиотеками и другими объектными модулями. Для каждого исходного файла создается отдельный объектный модуль. Только теперь программа может быть запущена.

А теперь, давайте рассмотрим весь єтот процесс на практике с использованием компилятора GCC.

Ради чего это все (главные плюсы)

  1. Практический плюс: система бесплатна (как и большинство программ под нее). Windows, понятно, тоже можно заполучить бесплатно известным способом — но она может неожиданно об этом узнать, или (при установке на рабочем месте) об этом могут узнать пришедшие с проверкой, или, наконец, об этом может узнать ваша совесть. К тому же под Windows надо еще и морочиться, добывая известным способом каждую программу — с некоторыми это бывает сложно.
  2. Практический плюс: нет вирусов. Можно смело втыкать любые принесенные друзьями флэшки и заходить на любые (в том числе те, о которых вы подумали) сайты. Update: в комментариях указали на то, что теоретическая возможность заражения компьютера существует, но на практике это все же встречается крайне редко.
  3. Практический плюс: некоторые вещи делать удобнее (ниже написано подробнее), чем в Windows.
  4. Практический плюс для гиков: гибкая настройка. Если вы готовы будете «работать напильником», то сможете получить почти что систему своей мечты.
  5. Плюс для любопытных: шире становится кругозор. Причем не только количественно, но и качественно: когда видишь два разных подхода к одним вещам, начинаешь иначе смотреть на сами эти вещи.
  6. Эстетический плюс: интерфейс программ, оповещений и прочего выдержан в одном стиле. Кроме этого, многие обожают «надстройку над системой» Compiz Fusion как за внешние эффекты, так и за функциональность (полноценного аналога Compiz в Windows нет).
  7. Идеологический плюс: вы помогаете создать конкуренцию Microsoft :) ничего принципиального против Microsoft не имею, Windows 7 — хорошая операционка, но сам факт конкуренции заставил бы обе стороны работать активнее, и в итоге всем стало бы лучше.
  8. Идеологический плюс: светлые идеалы открытого исходного кода. Правда, если это о чем-то вам говорит, то вы программист, а если вы программист, то и сами про линукс уже знаете достаточно. Но даже если не говорит — знайте, что вы самим фактом использования Linux поддерживаете хорошее дело.

Главные мифы о Ubuntu и Linux в целом

1. Линукс сложный, он для сисадминов, а не нормальных людей.
Базовые задачи (серфинг, музыка-видео и т.д.) выполняются в Ubuntu не сложнее, чем в Windows, а порой и легче (см. вышеупомянутую установку программ). Да, есть консоль, но большинство основных задач можно выполнять и через графический интерфейс: например, для установки видеоплеера VLC можно ввести в консоль «sudo apt-get install vlc», а можно зайти в «Центр приложений Ubuntu», ввести в поле поиска «vlc», выбрать его и нажать на «установить». Консоль и хоткеи линуксоиды часто используют не из-за того, что без них в системе очень неудобно, а из-за того, что с ними (если потратить время и научиться) становится очень удобно. Без графического интерфейса, с одной консолью, вы можете остаться в том случае, если захотите сделать что-то нетипичное — но при гуглении по названию задачи, которую хотите выполнить, зачастую можно найти на форумах готовые команды, которые останется только скопировать в консоль, даже если не понимаешь, что они означают. (Ну и, справедливости ради, нетипичные задачи в Windows нередко еще сложнее выполнить.)2. Линукс некрасивый, он для сисадминов, а не девушек с тягой к прекрасному.
Во-первых, Ubuntu совершенно не выглядит угловатым консольным монстром из 90-х; многие даже считают, что она отчасти подражает MacOS. Во-вторых, в Ubuntu куда большее единообразие системы, чем в Windows: приложения следуют одним правилам оформления, выводят оповещения одним и тем же способом, и так далее. Исключения из единого облика есть (обычно это кроссплатформенные приложения, выглядящие так же, как и под другими системами), но и на часть из них можно натянуть скины. В-третьих, если ставить внешний вид во главу угла, то с помощью Compiz Fusion можно заставить Ubuntu выглядеть эффектнее Windows и настроить ее внешность под себя (есть, например, такой ролик — не самый показательный, но суть понять можно).3. Под Линукс нет нужных мне программ/игр.
Смотря какие нужны. Программы для выполнения всех базовых задач есть. Специфические — зависит от конкретной ситуации. AutoCAD, скажем, толком нет (хотя говорят, что альтернативы ему становятся все лучше и все совместимее с ним), и большинство автокадщиков даже при любви к линуксу оставляет второй системой Windows для работы. Игры есть, в том числе хорошие, но свежих блокбастеров нет. (Впрочем, блокбастеров теперь и на Windows все меньше, они в основном на приставках.)

Правильная установка(Вариант №2)

Быстрое создание deb-пакета «вручную».

Основное отличие от предыдущего способа заключается в том, что в данном случае вы создаете пакет вручную и отслеживаете все вносимые изменения. Так же этот способ подойдет вам, если исходники не поддерживают сборку пакета с checkinstall.

Производим установку во временную директорию, где получаем весь набор устанавливаемых файлов:

fakeroot
make install DESTDIR=`pwd`/tempinstall

Создадим в «корне пакета» директорию DEBIAN и сложим в DEBIAN/conffiles список всех файлов, которые должны попасть в /etc:

сd tempinstall
mkdir DEBIAN
find etc | sed "s/^/\//" > DEBIANconffiles

После чего создаём файл DEBIAN/control следующего содержания:

Package: имя_пакета
Version: 1.2.3
Architecture: amd64/i386/armel/all
Maintainer: Можете вписать своё имя, можете дребедень, но если оставить пустым, то dpkg будет ругаться
Depends: Тут можно вписать список пакетов через запятую.
Priority: optional
Description: Тоже надо что-нибудь вписать, чтобы не кидало предупреждения
  • При необходимости там же можно создать скрипты preinst, postinst, prerm и postrm.
  • Создаем deb-пакет, для чего выполняем:
dpkg -b tempinstall

Получаем на выходе tempinstall.deb, который и устанавливаем

sudo dpkg -i tempinstall.deb

Процесс установки Linux — пошаговая инструкция

Шаг 1 — Приветствие . После запуска образа Ubuntu Вы увидите вкладку приветствия «Добро пожаловать». Здесь следует выбрать язык «Русский» и нажать на кнопку установить Ubuntu.

Обратите внимание на первую ссылку «Запустить Ubuntu». Она позволит Вам загрузиться с диска без установки (LiveCD)

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

Шаг 2 — Автоматическая загразку обновлений . Вторым шагом Ubuntu спросит разрешение на автоматическую установку и обновление всех драйверов. Для этого потребуется доступ к интернету.

Думаю, что логично было бы разрешить это сделать, чтобы Ваши драйвера имели самую актуальную версию после установки линукса.

Шаг 3 — Выбор типа установки . На этом шаге нужно выбрать место куда устанавливать Ubuntu, а также разбиение диска. Поскольку в нашем примере мы ставим Linux на VirtualBox, то мы можем выбрать первый пункт «Стереть диск и установить Ubuntu»:

Если Вы устанавливаете Ubuntu совместно с другой системой, то необходимо выбрать «другой вариант» и самостоятельно разбить диск. Для этого потребуется указать основной раздел, домашнюю папку, размер диска, размер файла подкачки и выбрать типы файловых систем (ext4 основной и swap для файла подкачки).

Шаг 4 — Раскладка клавиатуры . Выберите «Английская (США)» по умолчанию, чтобы в дальнейшем не иметь проблем с раскладкой. После установки можно будет добавить русскую раскладку.

Шаг 5 — Задание имени . Требуется указать имя пользователя и пароль. Это имя будет использоваться в качестве имени для домашней директории Linux. Также я выбрал пункт «входить в систему автоматически»:

Шаг 6 — Установка . Дальше наступает процесс установки. Теперь нужно просто подождать окончания.

По завершению, установщик скажет, что нужно перезагрузить компьютер:

После чего нужно будет нажать Enter:

После перезагрузки Ubuntu запустится. Вы увидите следующую картинку:

Собственно на этом установка Ubuntu завершена. Теперь можно начинать пользоваться.

Рекомендую сделать «снимок» в VirtualBox новой системы, чтобы всегда иметь возможно откатиться к ее исходному состоянию.

Установка нескольких версий GCC

В этом разделе приведены инструкции по установке и использованию нескольких версий GCC в Ubuntu 18.04. Новые версии компилятора GCC включают поддержку новых языков, лучшую производительность и расширенные функции.

На момент написания этой статьи репозитории Ubuntu по умолчанию включают несколько версий GCC, от до . Последняя версия GCC, доступная в PPA Ubuntu Toolchain.

В следующем примере мы установим последние три версии GCC и G ++.

Сначала добавьте PPA в вашу систему с помощью:
 

Установите нужные версии GCC и G ++, набрав:
 

Приведенные ниже команды настраивают альтернативу для каждой версии и связывают с ней приоритет. Версия по умолчанию — это версия с наивысшим приоритетом, в нашем случае это так .
 

Позже, если вы захотите изменить версию по умолчанию, используйте команду:
 

Вам будет представлен список всех установленных версий GCC в вашей системе Ubuntu. Введите номер версии, которую вы хотите использовать по умолчанию, и нажмите .

Команда создаст символические ссылки на определенные версии GCC и G ++.
 

Debuging

И чуть-чуть про отладку. Бонус «на сладкое» для начинающих разработчиков ядра, так сказать.

Как правило, при ошибке вы получаете лог с calltrace-ом. Там указываются имена функций и смещения. Примерно вот так:

Так вот, чтобы понять, в каком месте функции произошла ошибка, достаточно запустить дебагер с подгруженным в него модулем:

Важно, чтобы в модуле сохранились символы (stripped модуль вам тут не поможет). Выполнив команду list

Выполнив команду list

вы увидите строку кода, приведшую к ошибке. В случае передачи управления по неверному адресу, вы увидите следующую за ошибкой строку.

И на этом позвольте откланяться.

P.S. Если хочется в команду наших разработчиков для решения подобных задач, у нас есть вакансия для C++ разработчика.
А ещё у нас сейчас открыта вакансия инженера техподдержки наших продуктов для Linux. Все подробности здесь.

Openhours #7: Cross compiling on x86 Linux systems for ARM (96Boards)

Openhours #7: Cross compiling on x86 Linux systems for ARM (96Boards)

Коллекция компиляторов GNU (GCC) — это коллекция компиляторов и библиотек для языков программирования C, C ++, Objective-C, Fortran, Ada, Go и D. Многие проекты с открытым исходным кодом, включая инструменты GNU и ядро ​​Linux, скомпилированы с GCC.

В этом руководстве рассматриваются шаги, необходимые для установки компилятора GCC в Ubuntu 18.04. Мы покажем вам, как установить стабильную версию дистрибутива и последнюю версию GCC.

Те же инструкции применимы для Ubuntu 16.04 и любого дистрибутива на основе Ubuntu, включая Kubuntu, Linux Mint и Elementary OS.

Предпосылки

Чтобы иметь возможность добавлять новые репозитории и устанавливать пакеты в вашей системе Ubuntu, вы должны войти в систему как пользователь root или пользователь с привилегиями sudo.

Установка GCC на Ubuntu

Репозитории Ubuntu по умолчанию содержат метапакет с именем который содержит компилятор GCC и множество библиотек и других утилит, необходимых для компиляции программного обеспечения.

Выполните следующие шаги для установки компилятора GCC Ubuntu 18.04:

  1. Начните с обновления списка пакетов:

    Установите пакет , набрав:

    Команда устанавливает несколько новых пакетов, включая , и .

    Вы также можете установить страницы руководства по использованию GNU / Linux для разработки:

    Чтобы проверить, что компилятор GCC успешно установлен, используйте команду которая печатает версию GCC:

    Версия GCC по умолчанию, доступная в репозиториях Ubuntu 18.04, — :

Вот и все. GCC теперь установлен в вашей системе, и вы можете начать его использовать.

Компиляция примера Hello World

Компиляция базовой программы на C или C ++ с использованием GCC довольно проста. Откройте ваш текстовый редактор и создайте следующий файл:

Привет

Сохраните файл и скомпилируйте его в исполняемый файл с помощью следующей команды:

Это создаст двоичный файл с именем в том же каталоге, где вы запускаете команду.

Выполните программу с:

Программа должна напечатать:

Установка нескольких версий GCC

В этом разделе приведены инструкции по установке и использованию нескольких версий GCC в Ubuntu 18.04. Новые версии компилятора GCC включают поддержку новых языков, лучшую производительность, расширенные функции.

На момент написания этой статьи стандартные репозитории Ubuntu включали несколько версий GCC, от до Последняя версия GCC, которая является , доступна из Ubuntu Toolchain PPA.

В следующем примере мы установим последние три версии GCC и G ++.

Во-первых, добавьте PPA в вашу систему с помощью:

Установите нужные версии GCC и G ++, набрав:

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

Позже, если вы хотите изменить версию по умолчанию, используйте команду :

Вам будет представлен список всех установленных версий GCC в вашей системе Ubuntu. Введите номер версии, которую вы хотите использовать по умолчанию, и нажмите .

Команда создаст символические ссылки на конкретные версии GCC и G ++.

Вывод

Вы успешно установили GCC на Ubuntu 18.04. Теперь вы можете посетить официальную страницу документации GCC и узнать, как использовать GCC и G ++ для компиляции ваших программ на C и C ++.

GCC Ubuntu

Batch Compiler — это бесплатное программное обеспечение, которое позволяет скомпилировать пакет сценариев файлы в файл .exe installe.

Коллекция компиляторов GNU (GCC) — это коллекция компиляторов и библиотек с открытым исходным кодом, поддерживающая C, C ++ и другие языки программирования. Из этого туториала Вы узнаете, как установить компилятор GCC на Debian 10 Buster.

Коллекция компиляторов GNU (GCC) — это коллекция компиляторов и библиотек для языков программирования C, C ++, Objective-C, Fortran, Ada, Go и D. В этом руководстве рассматриваются шаги, необходимые для установки компилятора GCC в CentOS 7.

How to Compile and Run C/C++ program on Linux

Create a file called demo.c using a text editor such as vi, emacs or joe:

#include /* demo.c: My first C program on a Linux */ int main(void)

How do I compile the program on Linux?

Use any one of the following syntax to compile the program called demo.c:

cc program-source-code.c -o executable-file-name

gcc program-source-code.c -o executable-file-name

## assuming that executable-file-name.c exists ## make executable-file-name

In this example, compile demo.c, enter:

cc demo.c -o demo

## assuming demo.c exists in the current directory ## make demo

If there is no error in your code or C program then the compiler will successfully create an executable file called demo in the current directory, otherwise you need fix the code. To verify this, type: $ ls -l demo*

How do I run or execute the program called demo on Linux?

Simply type the the program name: $ ./demo OR $ /path/to/demo Samples session: Animated gif 01: Compile and run C and C++ program demo

Installing GCC on Linux Mint:

You can install GCC on Linux Mint the same way as in Ubuntu/Debian as shown in the earlier section of this article.

Installing GCC on CentOS 7 and Fedora:

On CentOS 7 and Fedora, GCC is easier to install as well. The required packages are available in the official package repository of CentOS 7 and Fedora. You can install the Development Tools group to install all the required packages to compile C and C++ programs on CentOS 7 and Fedora.

First, update the YUM database with the following command:

$ sudo yum makecache

YUM database should be updated.

Now install Development Tools group packages with the following command:

$ sudo yum group install «Development Tools»

Now press y and then press <Enter> to continue.

If you see this message, just press y and then press <Enter>.

GCC should be installed.

Now you can check whether GCC is working with the following command:

$ gcc —version

Installing GCC on Arch Linux:

You can install GCC on Arch Linux too. All the required packages are available in the Arch package repository. Arch also has a meta package base-devel, which you can install to get all the required tools needed to compile C and C++ programs on Arch Linux.

First, update the Pacman database with the following command:

$ sudo pacman -Sy

Pacman database should be updated. In my case, it was already up to date.

Now install base-devel package with the following command:

$ sudo pacman -S base-devel

Now press <Enter> to select all unless you want to install very specific set of packages.

You may see something like this. It’s nothing serious as far as I know. It’s just a package was renamed from pkg-config to pkgconf. So Pacman is asking you whether you want to use the new package and remove the old one. Just press y and then press <Enter>.

Now press y and then press <Enter>.

GCC should be installed.

Now check whether GCC is working with the following command:

$ gcc —version

Writing Your First C Program:

Now let’s write a very simple C program, which we will compile in the next section of this article below using GCC C compiler.

First, create a project directory (I am going to call it hello) with the following command:

$ mkdir ~hello

Now navigate to the newly created directory with the following command:

$ cd ~hello

Now create a new C source file (I am going to call it main.c) here with the following command:

$ touch main.c

Now open the file with any text editor (such as vim, nano, gedit, kate etc) of your choice.

To open the file with nano, run the following command:

$ nano main.c

To open the file with vim, run the following command:

$ vim main.c

To open the file with Gedit, run the following command:

$ gedit main.c

To open the file with Kate, run the following command:

$ kate main.c

I am going to use Gedit text editor in this article.

Now type in the following lines and save the file.

Here, line 1 includes the stdio.h header file. It has function definition for the printf() function I used on line 4.

Every C program must have a main() function. It is the function that will get called when you run a C program. If you don’t write a main() function, you can’t run the C program.  So I wrote a main() function in line 3 – line 7.

Inside the main() function, I called printf() library function in line 4 to print some text to the screen.

Finally, in line 6, I returned from the program. On Linux world, when a program returns 0, it means the program ran successfully. You can return any integer you like but there are some Linux specific rules on what return value means what.

In the next section, I will show you how to compile the C program with GCC and run it.

Compiling and Running C Programs with GCC:

The command to compile a C source file with GCC is:

$ gcc -o OUTPUT_BINARYSOURCE_FILES

NOTE: Here, SOURCE_FILES is a whitespace separated list of C source files. The compiled executable file will be saved as OUTPUT_BINARY in your current working directory.

In our case, the main.c source file doesn’t depend on other C source file, so we can compile it with the following command:

$ gcc -o hello main.c

The source file main.c should be compiled and hello executable file should be created as you can see in the screenshot below.

Now, you can run the hello executable binary file as follows:

$ .hello

As you can see, the correct output is printed on the screen.

So that’s basically how you use GCC to compile C programs on Linux. Thanks for reading this article.

Настройка репозиториев

Настроим репозитории программного обеспечения и правила получения обновления пакетов системой.

Нажимаем в трее на значок щита, показанный на следующем скриншоте стрелкой.

Открываем менеджер обновлений Linux Mint, щелкнув мышкой по иконке со щитом

В открывшемся окне щелкаем мышкой по пункту «Правка» в панели инструментов. В выпадающем меню выбираем строку «Источники программ».

Открываем раздел «Источники программ» в меню пункта «Правка»

Выделяем на боковой панели раздел, отмеченный единицей. Нажимаем по очереди на отмеченные стрелкой области, содержащие адреса репозиториев.

Настраиваем источники получения пакетов обновлений для операционной системы

Откроется список зеркал – система автоматически начнет проверку их доступности и скорости соединения. Ожидаем несколько минут, пока последняя колонка заполняется результатами тестирования. Выбираем самый быстрый сервер. Как видно на скриншоте, он не обязательно будет находиться в России.

Выбираем самое быстрое зеркало из списка доступных репозиториев

После того, как описанная выше операция выполнена для основного и базового репозиториев, жмем кнопку «ОК», отмеченную рамкой. Дожидаемся обновления кэша пакетов.

Нажимаем «ОК», чтобы обновить кэш пакетов для выбранных зеркал

Если система нашла обновления – устанавливаем их, нажимаем на панели область, отмеченную рамкой.

После обновления кэша зеркал устанавливаем обнаруженные системой пакеты ПО

Еще раз открываем меню «Правка». На этот раз выбираем строку «Параметры».

Открываем параметры для настройки расписания обновлений

На первой вкладке развернувшего окна видим две области настроек. Верхняя предназначена для определения правил поведения программы, в нижней задаем интервал автоматической проверки обновлений.

Настраиваем интервал проверки обновлений и поведение иконки в трее

Переходим на последнюю вкладку в окне. Настраиваем автоматизацию установки обновлений и обслуживания системы.

Разрешаем автоматическую установку новых пакетов и удаление старых версий ядра

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: