• 9701
  • 0
  • 1
Нравится блог?
Подписывайтесь!

Основы *nix кодинга. Часть 1.

Основы linux кодинга. Часть 1.
Привет всем.
Цель данной статьи рассказать читателям об основах linux программирования с помощью системных вызовов.
В качестве компилятора будем использовать gcc, которые входит в поставку большинства дистрибутивов. Еще нам понадобится make
Инструменты
Перед тем как начать программировать, стоит разобрать, что нам поможет в этом.
Для начала компилятор gcc(GNU project C Compiler):
Пример простейшего использования:БBr>
$gcc /proga.c -o /prog или так:
$gcc -o /prog /proga.c

Ключ -o указываем имя и путь к будущему бинарнику
Если в исходном тексте есть ошибки, то умный компилятор укажет на них.
Маны:
http://www.linuxcenter.ru/lib/books/linuxdev/linuxdev1.phtml
http://skif.bas-net.by/bsuir/prog_in_linux/node3.html

Make - программа может состоять из множества файлов, которые нужно как то собрать в один.
Если файлов мало то можно собрать использую только gcc, но файлов может быть очень много. Именно для таких случаев и применяем сборщик Make. Для ее работы необходимо использовать makefile - специальные файлы со сценарием сборки. Что бы лучше понять эти сценарии давайте попробуем собрать программу, состоящую из двух частей с помощью gcc:
У нас есть файл main.c и modul.c:
$gcc - -c main.c $gcc - -c modul.c
Тут мы указали ключ -c, он означает, что нужно собрать объектный файл, это еще не является полноценной программой, ее мы соберем дальше:
$ gcc -o programm main.o modul.c

Теперь мы собрали бинарник из двух файлов.
Итак, вернемся к make, как я уже говорил файлов для сборки может быть очень много, поэтому используем makefile.
Попробуем сделать его самим:
hello:
main.o programm.o
gcc -o programm main.o modul.o

main.o:
main.c
gcc -c main.c

modul.o:
modul.c
gcc -c modul.c

clean:
rm -f *.o programm

Думаю все ясно. Мы выполняем почти те же действия, что и выше, но уже автоматически.
В разделе Clean мы отчищаем директорию от временных файлов. Да, и не забываем про знаки табуляции, они очень важны Вот мануал для самостоятельного изучения
http://www.linuxrsp.ru/docs/gm.html
Тянуть не будем, и перейдем к делу.
Для начала определимся, что такое системный вызов:
Системный вызов это обращение, какой либо прикладной программы к ядру ОС, для выполнения какой либо операции.

Первым, как думаю самым несложным, мы разберем работу с файлами.

 

Уроки для хакеров и программистов


huzrus
3 февраля 2013, 21:30
275

Loading...

Комментарии

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

«До какой же еще степени унижения должен дойти народ?!»

«До какой же еще степени унижения должен дойти народ?!»

Министерство труда и соцзащиты провело через парламент очередной крайне неоднозначный закон, который может вызвать всплеск недовольства в стране.
openqazaqstan
15 нояб. 2017 / 11:17
  • 27937
  • 19
Самый большой мошенник в стране: об эффективной схеме развода «Казахтелеком»

Самый большой мошенник в стране: об эффективной схеме развода «Казахтелеком»

История о том, как Народный провайдер наваривается на своих клиентах, намерено не отключая услуги, и беря лишние деньги за ненужные и не оказываемые услуги.
ligaspravedlivosti
17 нояб. 2017 / 19:12
  • 22177
  • 179
«Почему я не хочу встречаться с мужчинами-казахами»

«Почему я не хочу встречаться с мужчинами-казахами»

Заранее отпишусь, данный пост не является попыткой оскорбить собственную нацию) Как говорится о вкусах не спорят, каждому свое.
Bonittta
16 нояб. 2017 / 14:28
  • 14942
  • 372
Почему катастрофический отток интеллектуальной элиты не тревожит Астану?

Почему катастрофический отток интеллектуальной элиты не тревожит Астану?

Как сообщает телеканал КТК, только за последние девять месяцев Казахстан покинули 28200 человек, из них почти пять тысяч инженеров, около 2700 экономистов и 1700 учителей.
openqazaqstan
17 нояб. 2017 / 11:00
  • 10674
  • 53
Задержан казахстанец, продававший детей в сексуальное рабство в ОАЭ и Бахрейн

Задержан казахстанец, продававший детей в сексуальное рабство в ОАЭ и Бахрейн

Подтверждаются худшие предположения, циркулирующие в соцсетях. Периодические исчезновения детей в разных регионах Казахстана объясняются не только семейными проблемами и «синими китами».
openqazaqstan
16 нояб. 2017 / 15:46
  • 7538
  • 54
О «топ-30», «топ-50» и прочих понтах можно пока забыть

О «топ-30», «топ-50» и прочих понтах можно пока забыть

В объективности выводов швейцарского банка Credit Suisse усомниться трудно – его экономические рейтинги относятся к самым авторитетным и их явно трудно упрекнуть в предвзятости
openqazaqstan
18 нояб. 2017 / 17:21
  • 6035
  • 83
Российским женщинам нужны казахстанские мужчины?

Российским женщинам нужны казахстанские мужчины?

Отдельные инициативы некоторых российских чиновников вызывают в Казнете приступы просто-таки гомерического ржача. Женщин в регионе – пруд пруди, а вот мужчин, с которыми они могли бы создать семьи, не хватает.
openqazaqstan
14 нояб. 2017 / 15:55
  • 2938
  • 18
Система госинститутов Казахстана напоминает очень дорогое казино

Система госинститутов Казахстана напоминает очень дорогое казино

Сегодня в прессу просочились детали скандальной сделки ЕНПФ с «мусорными» облигациями ТОО «Бузгул Аурум», о которой уже подробно рассказывалось в начале года.
openqazaqstan
15 нояб. 2017 / 16:13
  • 3258
  • 21
Незамужняя женщина после 25 лет – «девальвирующийся актив»?

Незамужняя женщина после 25 лет – «девальвирующийся актив»?

Много блогеров, да и обычных пользователей на разных платформах и в реальной жизни говорят об этом. Некоторые поддерживают давление на девушек, кто-то защищает права девушек в этом вопросе.
Kduarova
15 нояб. 2017 / 19:27