Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #51, ФЕВРАЛЬ 2005 г.

C в *nix – залог здоровья

Косякин Антон

Спецвыпуск: Хакер, номер #051, стр. 051-078-6


NB: после создания нового потока он сам (новый поток) и процесс, породивший его, начнут выполняться параллельно. И кто их знает, кто завершится первым. Для этого и существует функция Pthread_join, которая ждет завершения определенного потока и заодно запоминает значение, которое он вернул по завершению. Все примеры использования этих функций ты найдешь в соответствующих man'ах. Главное не испугаться и заглянуть в них: все очень просто! Стоит только внимательно прочитать и один раз правильно применить полученную информацию.

Turn off

К моего большому сожалению, не могу подробно описывать все аспекты программирования на C под *nix, но я постарался упомянуть ключевые слова и направления, по которым будет устроен дальнейший поиск информации. Кроме man‘ов, я очень советую тебе посетить www.tldp.org, в котором огромное количество самой разной интересной информации по Linux. Первым делом советую заглянуть в NCurses programming guide, описывающей работу с библиотекой Ncurses, позволяющей гораздо более удобно взаимодействовать с терминалом и создавать текстовой пользовательский интерфейс. Далее я бы порекомендовал почитать про UNIX IPC, межпроцессорное взаимодействие - очереди сообщений, семафоры и пайпы.

Если же не хочешь заморачиваться с ворохом всех этих системных вызовов и библиотек, всяких там файлов и терминалов, а желание быстро, легко и не отвлекаясь на уточнение тонкостей писать программы есть - читай про такие библиотеки, как Qt, GTK и т.д., которые вдобавок позволят использовать графический интерфейс. Окошки там всякие, кнопочки.

В общем, надеюсь, своим повествованием не отбил у тебя интерес к этой теме.

Читай, читай, читай и еще раз читай man’ы – если какая-то информация где-то от тебя прячется, то именно там.

Из сред разработки под *nix могу предложить таких монстров, как, например, KDevelop, Anjuta. Это из Иксовых, под КДЕ и GNOME соответственно.

Основным примитивом, создающим процесс в *nix-системах, является системный вызов Fork() – фактически в нем и заключается вся многозадачность ОС.

Системные вызовы ввода\вывода являются основой всей системы ввода\вывода *nix, но они примитивны и предоставляют возможность работы с данными в виде простой последовательности байт.

Читай man’ы и посещай (очень советую) www.tldp.org, содержащий огромное количество самой разной увлекательной и познавательной информации по Linux.

Назад на стр. 051-078-5  Содержание