Программирование на Си (C) в Ubuntu (Linux). Введение

Бесплатно скачать электронную книгу в удобном формате, смотреть и читать:

Требовательность к ресурсам в ОС Linux

Используется она из-за того, что имеет очень гибкие и обширные настройки, а также из-за своей стабильной работы. Кстати не только программисты используют Linux. Ос Android основана именно на ядре этой системы. Так что, можно сказать, все кто используют аппараты на Android используют Linux. Linux очень надежная и стабильная система. Не зря ее используют на высоконагруженных серверах. Linux очень сложно «подвесить», если какое-то приложение зависло, то достаточно убить процесс данного приложения, система же при этом продолжает стабильно работать. Linux не требует постоянных перезагрузок компьютера, даже после обновлений системы (кроме обновления ядра [в будущем и это не потребует перезагрузки]). Установка и удаление программ, драйверов также не требует перезагрузки системы. Linux не «кушает» память. Я много раз замечал, что если Windows оставить без перезагрузки на неделю, то рано или поздно он начинает сильно тормозить. Linux же прекрасно работал у меня и месяц и полтора без перезагрузки. Конечно, много в данном случае зависит от того, какие программы «отъедают» память, но факт остается фактом. Советую так же почитать 5 заблуждений о Linux.

Библиотеки

Естественно, что если вам необходимо вывести строку или изображение на экран, то вы не будете напрямую обращаться к видеокарте. Вы просто вызовете несколько функций, которые уже реализованы в системе и передадите им данные, которые нужно вывести на экран. Такие функции размещаются в библиотеках. Фактически, библиотеки — это наборы функций, которые используются другими программами. В них находится такой же код, как и в других программах, разница лишь в том, там необязательно присутствие функции инициализации.

Читайте также:  Как установить образ iso linux на флешку

Библиотеки делятся на два типа:

  • Статические — они связываются с программой на этапе компиляции, они связываются и после этого все функции библиотеки доступны в программе как родные. Такие библиотеки имеют расширение.a;
  • Динамические — такие библиотеки встречаются намного чаще, они загружены в оперативную память, и связываются с программной динамически. Когда программе нужна какая-либо библиотека, она просто вызывает ее по известному адресу в оперативной памяти. Это позволяет экономить память. Расширение этих библиотек — .so, которое походит от Shared Object.

Таким образом, для любой программы на Си нужно подключать библиотеки, и все программы используют какие-либо библиотеки. Также важно заметить, на каком языке бы вы не надумали писать, в конечном итоге все будет сведено к системным библиотекам Си. Например, вы пишите программу на Python, используете стандартные возможности этого языка, а сам интерпретатор уже является программой на Си/С++, которая использует системные библиотеки для доступа к основным возможностям. Поэтому важно понимать как работают программы на Си. Конечно, есть языки, вроде Go, которые сразу переводятся на ассемблер, но там используются принципы те же, что и здесь. К тому же системное программирование linux, в основном, это Си или С++.

Введение

Говоря “Linux”, люди чаще всего подразумевают группу операционных систем, разработанных на базе Linux. Хотя, по сути, Linux — это только ядро операционной системы, и для разработки полноценной операционной системы используются различные другие инструменты и библиотеки GNU проектов и других ресурсов. Кроме того, все больше разработчиков используют Linux для разработки и запуска мобильных приложений; Linux играет ключевую роль в разработке таких устройств, как хромбуки (портативные устройства под управлением операционной системы Chrome, которая в качестве ядра использует гибрид ядра Linux и сервисов, разработанных компанией Google).

Linux стал популярен по следующим причинам:

  • актуальность дистрибутивов и активная поддержка сообществами разработчиков;
  • возможность запускаться на самом разном оборудовании;
  • низкие требования по части ресурсов;
  • возможность установить программы из существующих репозиториев.

Но список причин, конечно, только этими не исчерпывается; существуют не только практические, но и этические причины. Например, многие разработчики воспринимают Linux как выражение открытости, самовыражения и доступности.

Главный секрет C++

А теперь мы напишем ту же самую программу, но уже с классами. И для этого нам нужно знать главный секрет C++.

Главный секрет C++Класс — это объединение кода и данных.

Как видите, секрет достаточно прост. Запишем нашу программу но уже с помощью класса:

#include <iostream> using namespace std; class Summa { public: int x; int y; int Sum() { return x + y; } }; int main() { // Программирование с классами Summa s; s.x = 6; s.y = 12; z = (); cout << «Sum = » << z << endl; return 0; }

123456789101112131415161718192021222324252627 #include <iostream> using namespace std; class Summa{ public: int x; int y; int Sum() { return x + y; }}; int main(){ // Программирование с классами Summa s; s.x = 6; s.y = 12; z = s.Sum(); cout << «Sum = « << z << endl; return ;}

Итак, что мы сделали?

Главный секрет C++

Мы создали класс Summa с помощью ключевого слова class. Но класс — это просто шаблон. Для использования класса нужно получить экземпляр класса. Это мы сделали в строке «Summa s;». После того, как эта строка выполнится, мы получим экземпляр класса, к которому же можно обращаться. При этом переменные класса называются свойства, а функции класса называются методы.

Обратите внимание, что функция Sum не требует указания параметров, потому она берет эти параметры из свойств класса.

Обращение к свойствам и методам производится с помощью точки. Например, «s.x» — означает, что мы обращаемся к свойству экземпляра s класса Summa.

Читайте также:  Поднятая целина: Осваиваем и обустраиваем консоль

Ключевое слово public означает, что свойства и методы класса доступны вне класса.