Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Книга C/C++  (Прочитано 21003 раз)
0 Пользователей и 5 Гостей смотрят эту тему.
Russian
Гость
« : 02-01-2004 12:46 » 

Дайте совет.
Имею начальные знания C/C++. Я хочу книгу купить.
Тема:Программирование в Linux на C/C++
Хочу научиться работать с сетью и привязывать
графический интерфейс
Зарание спасибо
---------
http://InAttack.h10.ru/
Записан
Sashok
Молодой специалист

us
Offline Offline
Пол: Мужской

« Ответ #1 : 02-01-2004 15:54 » 

Что ты имеешь ввиду, уточни, пожалуйста. "Работать с сетью" - хочешь ли ты программы писать или администрировать сеть? Если программы, то тебе нужна литература, посвященная сокетам. Но до того я бы посоветовал разобраться с процессами, коммуникацией между процессами и т.д.
Записан

Если бы окружающие нас объекты содержали столько же ошибок, сколько программы, цивилизация обрушилась бы от первого порыва ветра...
Russian
Гость
« Ответ #2 : 03-01-2004 09:21 » 

>"Работать с сетью"  - хочешь ли ты программы писать или администрировать сеть
программы писать

>процессами, коммуникацией между процессами и т.д.
А конкретную книгу посоветуй
Записан
Russian
Гость
« Ответ #3 : 03-01-2004 12:32 » 

Sashok дай совет. Я основы языка знаю.
Что учить дальше? Писать я хочу под Linux,
и хочу писать программы работающие с сетью!
Также хочу использовать визуальный
интерфейс (gtk если не ошибся).
Ты сказал "разобраться с процессами,
коммуникацией между процессами и т.д."
Это что, я не понял, объясни пожалуйста.

Я хочу на днях книгу купить, вот думаю какую
Записан
Sashok
Молодой специалист

us
Offline Offline
Пол: Мужской

« Ответ #4 : 03-01-2004 16:07 » 

Russian, я твою тему переместил в форум "UNIX и другие", поскольку литературный форум предназначен для общего трепа, и я на твой вопрос наткнулся совершенно случайно, а другие вообще не наткнулись.
Записан

Если бы окружающие нас объекты содержали столько же ошибок, сколько программы, цивилизация обрушилась бы от первого порыва ветра...
Sashok
Молодой специалист

us
Offline Offline
Пол: Мужской

« Ответ #5 : 03-01-2004 16:54 » 

Цитата: Russian
Sashok дай совет. Я основы языка знаю.
Что учить дальше? Писать я хочу под Linux,
и хочу писать программы работающие с сетью!
Также хочу использовать визуальный
интерфейс (gtk если не ошибся).
Ты сказал "разобраться с процессами,
коммуникацией между процессами и т.д."
Это что, я не понял, объясни пожалуйста.

Я хочу на днях книгу купить, вот думаю какую
Russian, сразу хочу сказать, что с графикой мне дела иметь не приходилось, но здесь наверняка есть люди, которые тебе подскажут и по поводу графики.

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

Linux, как и любой Unix, поддерживает многопроцессную работу (как на уровне process, так и на уровне thread), и, практически, в любой серьезной системе тебе эти возможности понадобятся. Соответственно, тебе надо изучить, как их запускать, синхронизировать, обмениваться между ними информацией. А заодно, если ты никогда не имел дела с такими средами, как писать программу "безопасно" с точки зрения многопроцессной работы.

Кроме того, в системе есть такая штука, как прерывания (в Юниксе они называются сигналами (signals) ), и без них ты тоже не обойдешься.

Что же касается собственно обмена по сети, то смотри сокеты (socket).

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

В общем, моя рекомендация такая: сделай поиск по ключевым словам process, fork, exec, wait, pthread, fifo, msgget, shmget, semget, signal, socket. В нужной тебе книге они должны присутствовать все или почти все. Дальше смотри, понятен тебе уровень объяснений, или нет.

Если нужно, могу прислать список конкретных книг, имеющихся у меня (что вовсе не означает, что они лучшие Улыбаюсь ).

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

Успехов!
Записан

Если бы окружающие нас объекты содержали столько же ошибок, сколько программы, цивилизация обрушилась бы от первого порыва ветра...
Russian
Гость
« Ответ #6 : 04-01-2004 09:21 » 

Спасибо, буду думать. Если будут вопросы напишу
Записан
Гром
Птычк. Тьфу, птычник... Вот!
Готовлюсь к пенсии

il
Offline Offline
Пол: Мужской
Бодрый птах


« Ответ #7 : 04-01-2004 10:13 » 

Russian, написание программ под сеть не имеет привязки к ОС.
А если и имеет то очень небольшую.
Тебе надо разбираться с BSD сокетами - которые и будут основой твоей программы , а так же многопоточное программирование, что тоже не сложно, так как общие концепции схожи.

Если надо - обращайся с более конкретными вопросами.
Записан

А птичку нашу прошу не обижать!!!
sh_m
Гость
« Ответ #8 : 05-01-2004 07:35 » 

По моему тебе для начала подойдет
"Теория и практика программирования на Си в UNIX"
Скачать можно здесь:
http://linux.perm.ru/doc/devel/languages/C/tppcu/
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #9 : 07-01-2004 10:59 » 

Russian, главный справочник в Linux - это info libc (или pinfo libc). Тут все самое основное - работа с памятью, файлами, сокетами, процессами и т.п.
О gtk - см. доки на http://www.gtk.org/ :
http://www.gtk.org/tutorial1.2/
http://www.gtk.org/tutorial/
http://www.gtk.org/api/
http://www.gtk.org/faq/
http://www.gtk.org/documentation.html

Кстати, замечу - libc (glibc) и gtk расчитаны на С, а не С++.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Антон (LogRus)
Глобальный модератор

ru
Offline Offline
Пол: Мужской
Внимание! Люблю сахар в кубиках!


WWW
« Ответ #10 : 08-01-2004 07:48 » 

Цитата: RXL
Кстати, замечу - libc (glibc) и gtk расчитаны на С, а не С++.

А мы для него класс-врапер папишем!  Ага
Кроме GTK есть еще Trolltech QT он он вреде платным становится в случае его использования в коммерческих проектах. И еще чего-то есть.
Книги на русском есть напрмер:
Межпроцессное взаимодействие в UNIX
UNIX универсальная среда разработки
Программирование в Linux. Профессиональный подход.
Программирование модулей в Linux.
Естественно большенство переведёнки. Отлично
Записан

Странно всё это....
Артем
Опытный

nz
Offline Offline
Пол: Мужской
Beware the wolf in sheep's clothing.


« Ответ #11 : 19-03-2004 14:09 » 

Доброе время суток всем!
  Раньше много и активно писал под всякие и разные Винды.
Теперь задумался (точнее -- меня "задумали" Отлично ) о написании прог и для  и для юникс-подобных ОС (не только для ЛИнукса).

Всвязи с этим вопросы:
Cуществуют ли какие-либо библиотеки классов для написания программ, которые должны работать в различных ОС?
И как с этой точки зрения смотриться MFC?

 Дело в том что у меня нет уверености, в том что прогу, которую я счас начинаю писать под Винды, не надо будет переносить в другие ОС, хотелось бы минимизировать последствия подобного переноса....
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #12 : 19-03-2004 17:56 » 

Артем, есть межплатформенные библиотеки. Например, Qt (на C++) - есть и для Win32. Недостаток: для win32 для некомерческого пользования есть только старая версия 2.3, более поздние версии за деньги. Для *nix - бесплатно. Хотя, возможно что-то и изменилось - давно там не был - лучше сходи на их сервер: http://www.trolltech.org

Если не ошибаюсь, то и GTK межплатнорменный.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Anonymous
Гость
« Ответ #13 : 22-03-2004 12:58 » 

Цитата: RXL
Артем, есть межплатформенные библиотеки. Например, Qt (на C++) - есть и для Win32. Недостаток: для win32 для некомерческого пользования есть только старая версия 2.3, более поздние версии за деньги.
Если не ошибаюсь, то и GTK межплатнорменный.


  Qt действительно за деньги. Жаль
Про GTK, счас поищу/почитаю.
А что можно сказать про GLUT? т.е. смогу ли я с использованием этой библиотеки написать приложение с довольно сложным пользовательским интерфейсом? И чтоб оно работала под Винды и Юниксы?
 А может просто написать несколько блоков, которые будут отвечать за пользовательский интерфейс для разных систем, и один который будет рисовать(например на OpenGL)?
 
p.s. Дело в том что я еще не работал ни с одной подобной библиотекой, хотелось бы сразу изучать то что нужно, не тратить время на изучение библиотеки, которуб потом не буду использовать.
Записан
Артем
Опытный

nz
Offline Offline
Пол: Мужской
Beware the wolf in sheep's clothing.


« Ответ #14 : 22-03-2004 20:02 » 

Прошу прощения, гостем был я...
Записан
RXL
Технический
Администратор

Offline Offline
Пол: Мужской

WWW
« Ответ #15 : 22-03-2004 20:20 » 

GLUT позволяет рисовать элементы GUI. Сам я не пробовал, но видел статью на http://www.programme.ru . Попробуй все же Qt 2.3 (та что бесплатно для win32) - неплохая вещь.
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines