Где найти справочник команд по С?
Модератор: Модераторы разделов
Где найти справочник команд по С?
Читаю по С книжку Прата. Молодец мужик, умный, хорошо пишет - но очень нудно! 925 страниц, дофига прям, не лень же ему...
Нет ли у вас ссылок (своих тхт файлов) в которых перечислены основные команды от основных библиотек вкратце? Пока нашел только на нерусском для с++: http://www.cplusplus.com/reference/ но там тоже много лишнего.
В идеале был бы http://mark.zlatoust.ru/comp/lang/c_guide.html только с основными командами от часто подключаемых библиотек (и название библиотек). Программирование под консоль и десктоп, обычное (сети локальные и http, файлы, бд и так далее).
Или что то подобное.
Как вы решаете этот вопрос?
Нет ли у вас ссылок (своих тхт файлов) в которых перечислены основные команды от основных библиотек вкратце? Пока нашел только на нерусском для с++: http://www.cplusplus.com/reference/ но там тоже много лишнего.
В идеале был бы http://mark.zlatoust.ru/comp/lang/c_guide.html только с основными командами от часто подключаемых библиотек (и название библиотек). Программирование под консоль и десктоп, обычное (сети локальные и http, файлы, бд и так далее).
Или что то подобное.
Как вы решаете этот вопрос?
Re: Где найти справочник команд по С?
man man
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка
Спасибо сказали:
Re: Где найти справочник команд по С?
info libc
Насчёт размера - как говорил ешё Евклид «Царских путей к геометрии нет!»
И не так там и много. Вы в какой-нибудь boost или Qt суньтесь...
Насчёт размера - как говорил ешё Евклид «Царских путей к геометрии нет!»
И не так там и много. Вы в какой-нибудь boost или Qt суньтесь...
Спасибо сказали:
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: Где найти справочник команд по С?
Вас кто-то заставляет это читать? Книжек что ль мало по Си?
Лично мне нравится Прата, кому-то не надо ничего, кроме K&R, а в прошлой теме, где мы книги уже обсуждали, собеседник упомянул совсем другую книгу, о которой я даже не слышал.
watashiwa_darede... писал(а): ↑28.09.2015 09:22Я не читал K&R, не знаю, сколько на него времени надо. И Прату не читал, но уверен, что 900 страниц — это просто немеряно. Как я говорил, я учил C по книге Бочкова, Субботина, там ~350 страниц карманного формата, из них половина — краткое описание функций стандартной библиотеки.
А ещё есть конспекты лекций и учебные пособия от преподов различных универов. В нашем универе, например, есть какая-то собственная типография и там изданы многие учебные пособия и методички, написанные нашими преподавателями.
Порой очень талантливо получается. Один препод с нашей кафедры, которого уже нет в живых, в своё время написал пособие по программе "Electronics Workbench" для лабораторных работ по электронике. Я читал - оторваться не мог. Так здорово написано, хотя, казалось бы, чего там?
К чему это я? Ах, да. Многие конспекты лекций и пособия доступны на просторах Сети. Нужно только поискать. Раз уж "большой учебник" нагоняет на Вас тоску.
Так что выбирайте на свой вкус, уровень подготовки, особенности восприятия материала и т.д. Это всё очень неодинаково. Не Пратой единым, короче говоря.
У того же Праты в книге есть приложения. Там описание стандартной библиотеки и ещё что-то. У K&R в приложении описана стандартная библиотека.
Глянул. Абсолютно бессмысленная вещь, чуть более, чем полностью.azsx писал(а): ↑09.10.2015 07:36В идеале был бы http://mark.zlatoust.ru/comp/lang/c_guide.html только с основными командами от часто подключаемых библиотек (и название библиотек).
Что там есть: зарезервированные слова, знаки операций, типы данных, шаблон вызова функции...
Выписывать в шпаргалку все эти вещи - это значит, что мы ни черта не понимаем в языке, с которым имеем дело. То есть вообще.
Даже не представляю, какой уровень подготовки надо иметь, чтобы понадобилось int или function() смотреть по шпаргалке. Разве что сишный исходник дали человеку, который Си вообще ни разу в жизни не видел, и вот он по шпаргалке слово за словом будет в этом разбираться. Так в этом случае лучше сначала вооружиться учебником, а уж потом лезть в код. После прочтения первых глав любого учебника по Си, такая шпаргалка становится не нужна.
В учебнике, кстати, есть алфавитный указатель. Очень помогает, когда книга большого объема. Вот не помню, у Праты есть указатель или нет.
А вообще, отвечая на Ваш основной вопрос, могу добавить к сказанному eddy, что в man-страницах есть специальные разделы как раз по этим вещам.
Вызывается по man номер_раздела тема
Например man 3 printf
Раздел 2 - системные вызовы.
Раздел 3 - библиотечные вызовы.
Можно смотреть здесь, но лучше в своём дистре, ибо могут быть несоответствия.
Там всё на буржуйском, но нужно понимать, что язык man-страниц - это всё-таки не Шекспир. И написаны многие страницы людьми, для которых английский - не родной. Следовательно, там нет слишком развесистых заковыристых фраз, доступных только профессиональным лингвистам.
Гугель-переводчик + собственная голова - этого в большинстве случаев достаточно для понимания.
Спасибо сказали:
Re: Где найти справочник команд по С?
Вас кто-то заставляет это читать? Книжек что ль мало по Си?
мой поиск по с11 на русском языке, привел к выводу, что мало.
Глянул. Абсолютно бессмысленная вещь, чуть более, чем полностью.
в таком виде да. Но мне нужны команды от основных библиотек. А вот по фоме - вполне пойдет такая краткая форма записи.
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: Где найти справочник команд по С?
Вам нужно непременно C11? Зачем?
Можно освоить базовый уровень языка, пользуясь любым подходящим для Вас учебником, а потом уже посмотреть, что появилось нового в C11.
Это будет легче, так как будет, на что опереться.
Стандартная библиотека нередко приводится в приложении учебника.
А другие библиотеки (более специализированные) описаны в отдельной литературе. И далеко не все из них Вам пригодятся.
Если по ним составлять справочник, получится книга не меньше Праты. Поэтому по библиотекам инфу лучше смотреть отдельно в каждом случае.
Опять-таки, при наличии знаний языка Си знакомство с какой-либо библиотекой проблем вызывать не должно.
- Bizdelnick
- Модератор
- Сообщения: 20794
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Где найти справочник команд по С?
Что есть основные библиотеки? Стандартная библиотека или что-то ещё? Если что-то ещё, то что именно? У какждой библиотеки свои разработчики, свой официальный сайт, своя документация (которая обычно входит в пакеты -dev). Универсального руководства нет и быть не может, потому что каждый использует то, что ему больше нравится.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Re: Где найти справочник команд по С?
Универсального руководства нет и быть не может, потому что каждый использует то, что ему больше нравится.
я не понимаю этого.
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: Где найти справочник команд по С?
Чего Вы не понимаете?
Один человек пишет консольное приложение.
А другой - приложение с графической мордой.
В первом случае может хватить стандартной библиотеки, а во втором нужна ещё графическая библиотека.
А графическая - это какая? QT? GTK?
А если GTK, то GTK2 или GTK3?
А кто-то третий пишет приложение, где нужны математические библиотеки. И это уже совсем другая история.
И по каждой из упомянутых мной библиотек можно написать отдельную книгу. А самих библиотек гораздо больше, чем три мной упомянутых.
Ну и как Вы себе представляете универсальный справочник по функциям?
Автор по фамилии Архангельский пытался сделать нечто подобное.
У него получилась книга, если не ошибаюсь, 1500 страниц и это ещё не всё, там было в нескольких частях, вроде бы.
Вы 900 страниц учебника Праты без тоски осилить не можете, а универсальный справочник, включающий данные по всем библиотекам, который будет в 50 раз больше, Вам зачем-то нужен. Это не говоря о том, что данный справочник устареет быстрее, чем его издадут.
Спасибо сказали:
Re: Где найти справочник команд по С?
У него получилась книга, если не ошибаюсь, 1500 страниц и это ещё не всё, там было в нескольких частях, вроде бы.
и это было 1500 страниц вкратце???
Один человек пишет консольное приложение.
А другой - приложение с графической мордой.
допустим, пишем только консольные приложения. Допустим пишем обычные программы. Врядли кто то читает книги целые по библиотеке математической, вполне было бы достаточно обычного расширения функций, типа sin, cos, ln и так далее. То есть не надо всего, достаточно вкратце основного.
Re: Где найти справочник команд по С?
Граждане, отсылающие к man! Вы сами эти man pages в последний раз когда читали? Там же большинство страниц заканчиваются грозным предупреждением:
SEE ALSO
printf(3)
The full documentation for printf is maintained as a Texinfo manual. If the info and printf programs are properly installed at your
site, the command
info coreutils 'printf invocation'
should give you access to the complete manual.
Спасибо сказали:
- Bizdelnick
- Модератор
- Сообщения: 20794
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Где найти справочник команд по С?
Читали, читали. Регулярно читаем.
s.xbatob писал(а): ↑09.10.2015 12:02Там же большинство страниц заканчиваются грозным предупреждением:
SEE ALSO
printf(3)
The full documentation for printf is maintained as a Texinfo manual. If the info and printf programs are properly installed at your
site, the command
info coreutils 'printf invocation'
should give you access to the complete manual.
Зачем Вы цитируете тут printf(1)? Эта страница к сишным библиотекам не относится, а в printf(3), как и в прочих манах по glibc, такой сноски нет.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: Где найти справочник команд по С?
Ну, я вот бувально на днях заглядывал в третий раздел,когда софтина не компилялась.
Ей нужна была sleep, вот я в man 3 sleep посмотрел, что там к чему.
Ну и что?
Я упомянул man-страницы вовсе не как исчерпывающий справочник, а как один из источников информации.
И таки да, порой этого бывает достаточно.
А вообще-то в этих наших линуксах помимо man есть ещё и другая документация, прилагающаяся к соответствующим пакетам.
- Bizdelnick
- Модератор
- Сообщения: 20794
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Где найти справочник команд по С?
Что непонятного-то? Стандартная библиотека C очень маленькая, а для всего того, что в неё не входит, существует множество сторонних библиотек. То есть — множество библиотек для каждой отдельно взятой задачи. Они отличаются друг от друга возможностями, переносимостью, лицензиями, требовательностью к ресурсам и прочим.
А если хотите справочник только по стандартной библиотеке — как уже выше говорилось, он должен быть в приложении к каждому приличному учебнику по C.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали:
Re: Где найти справочник команд по С?
какой то единой сборки библиотек, которые доводят С до уровня языка программирования высокого уровня на общем круге задач - нет?
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: Где найти справочник команд по С?
Да не помню я. Я ж её не читал, только видел.
У него книги по C++ Builder, ну и справочник есть. Там разделы по языку и по среде разработки.
Вот нагулгилось.
Справочник книга 1
Справочник книга 2
Две книги общим объемом на 1000 страниц с лишним. Конечно, поменьше, чем 1500 страниц, но всё-таки.
Вкратце или нет, сказать не могу.
Но если создавать универсальный справочник по множеству библиотек, то это задача именно такого плана: больше тысячи страниц, даже если вкратце.
Вот именно потому, что инфы набирается на целые книги, возникает вопрос, что из этого богатства включить в справочник. Вам нужно одно, мне другое, а кому-то ещё третье.
Есть у меня книга по Delphi7. Тоже страниц на 700-800. Очень много инфы по функциям и компонентам. Но некоторых вещей там не нашлось, пришлось ковырять другие источники. И вот получается: книга вроде здоровенная, а её всё равно не хватило. И точно также не хватит универсального справочника.
Где вот эта золотая середина между объемом и полнотой информации? Всё включить невозможно, а если не всё, то непременно чего-то не хватит.
Поэтому лучше всё-таки отдельная документация по каждой теме.
Спасибо сказали:
- Bizdelnick
- Модератор
- Сообщения: 20794
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Где найти справочник команд по С?
Библиотеки на уровень языка не влияют.
А единой сборки нет, если не считать таковой дистрибутив GNU/Linux в целом, конечно.
А единой сборки нет, если не считать таковой дистрибутив GNU/Linux в целом, конечно.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали:
Re: Где найти справочник команд по С?
Зачем?
А мне обычно нужно лишь вспомнить порядок следования и значения аргументов, да кое-какие поля структур (правда, для этого приходится делать less /usr/include/...)
Кстати, насчет размера документации. Я офонарел, когда в первый раз увидел документацию к GSL. Но еще больше офонарел, когда попытался в ней разобратьтся - как-то плоховато она написана. А потом я увидел документацию OpenCV... Какое счастье, что мне не нужно (надеюсь, никогда и не понадобится) пользоваться этим монстром!
P.S. Сам писал не так давно поверхностное описание протокола работы с моим контроллером ИК-спектрографа. Получилось больше 10 страниц! А если бы нужно было developer manual написать? Ужас...
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка
Спасибо сказали:
- Stauffenberg
- Сообщения: 2042
- Статус: ☮ PEACE ☮
- ОС: открытая и свободная
Re: Где найти справочник команд по С?
Ну он как бы писалл ее чтобы впоследствии продать подороже, так что, думаю, все же было наверное не лень
Labor omnia vincit
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
"Debugging is twice as hard as writing the code in the first place.
Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.” (Brian Kernighan)
Спасибо сказали:
Re: Где найти справочник команд по С?
Ну он как бы писалл ее чтобы впоследствии продать подороже
книжка платная???
Плаугер - стандарт С - книжка хорошая, но мне надо иное. Вот библиотека, далее списком команда одной срокой с заполнеными параметрами - чо делает по русски (или попроще по нерусски). То есть чисто чтобы знать, что если подключить math то можно вычислять синус будет.
И вот так по основным библиотекам и командам в них. Есть же какая стата, какие реально команды юзают чаще, какие нет.
- Bizdelnick
- Модератор
- Сообщения: 20794
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Где найти справочник команд по С?
[offtopic]В C нет команд, там есть функции.[offtopic]
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: Где найти справочник команд по С?
Такое было у меня в книге по языку Паскаль. В приложении. Стандартные библиотеки. Две их там или три...
Такое есть в официальной документации к библиотекам (за все не скажу, но к некоторым - видел).
Более того, документация в формате типа html, следовательно там гипертекст и прочие перекрёстные ссылки.
А вот собирать в одну кучу инфу по разным библиотекам - занятие весьма нелегкое да ещё и бессмысленное чуть более, чем полностью.
Объяснение очень простое: все эти библиотеки/функции - не есть часть языка.
А значит, имеют отношение к языку лишь косвенное и по смыслу не могут быть объединены в единый справочник.
Вот, скажем, есть у нас математика, физика, химия.
Во всех трех дисциплинах есть формулы - это единый язык математики. Означает ли это, что стоит сделать единый справочник по математике/физике/химии? Очевидно, нет.
Так же и с библиотеками: язык один, но предметные области разные.
А то ведь, на секундочку, и ffmpeg имеет либы, которые можно задействовать в своём софте. Эти либы тоже в "единый справочник" запихнём наряду с другими или как?
- Bizdelnick
- Модератор
- Сообщения: 20794
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Где найти справочник команд по С?
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали:
Re: Где найти справочник команд по С?
Bizdelnick во - кажись то чо надо, только по нерусскуи. зы но я уже смирился, что в ру сегменте умных вещей ловить не стоит
оффтопик
зря вы так...
зы
оффтопик
Означает ли это, что стоит сделать единый справочник по математике/физике/химии? Очевидно, нет.
зря вы так...
зы
Да он всегда был спорщиком,
Припрут к стене - откажется...
Прошел он коридорчиком -
И кончил "стенкой", кажется.
Re: Где найти справочник команд по С?
На язык C есть стандарт ISO/IEC 9899:2011 . Там и стандартная библиотека описана.
Сам стандарт платный (60$), но можно скачать последний draft, и пользоваться им.
Сам стандарт платный (60$), но можно скачать последний draft, и пользоваться им.
Спасибо сказали:
- Bizdelnick
- Модератор
- Сообщения: 20794
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Где найти справочник команд по С?
Вы только учтите, что это стандарт, носящий рекомендательный характер, и конкретные реализации могут несколько отличаться. Как минимум — набором заголовков, необходимых для использования той или иной функции, и тем, с какими библиотеками надо линковаться. Так что всегда сверяйтесь с манами из своей системы.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали:
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: Где найти справочник команд по С?
Вы со временем поймёте, что десяток тематических справочников полезнее одного универсального.
Во-первых, в универсальный всего не впихнуть, как ни старайся.
А во-вторых, они почти никогда не бывают нужны все сразу. Чаще поодиночке.
Даже при работе над большим проектом нам не надо всё сразу, ибо мы разделяем задачи:
мы пилим основную часть программы и пользуемся справочником по стандартной библиотеке,
потом мы пилим математическую часть и используем справочник по математической библиотеке.
Потом мы пилим графический интерфейс на GTK и опять используем нужный справочник.
А потом возникнет решение сделать интерфейс ещё и на QT и опять понадобится справочник.
Так вот эти справочники, вообще говоря, разные. Потому что задачи разные.
А запихнуть всё в один... Можно, конечно, попытаться, но зачем?
И главное, как определить, что включить в справочник, а что отбросить?
С официальной документацией такой проблемы нет, ибо там описание полное. По крайней мере, должно таким быть.
Re: Где найти справочник команд по С?
Hephaestus ссылка которая меня устроила не имеет описания gtk, дада
оффтопик
боюсь, что лично я помру раньше, чем пойму это. И помру я весьма глупым. Но мне пофиг
оффтопик
Вы со временем поймёте, что десяток тематических справочников полезнее одного универсального.
боюсь, что лично я помру раньше, чем пойму это. И помру я весьма глупым. Но мне пофиг
- Hephaestus
- Сообщения: 3729
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
- Контактная информация:
Re: Где найти справочник команд по С?
Очень за Вас рад.
Значит, когда Вам понадобится gtk, нужен будет ещё один справочник.
Это и означает, что универсального справочника не существует, это сферический справочник в вакууме.
А что касается инфы по ссылке, то многое (если не всё) найдётся в Вашей системе в man 3. Да ещё и в более актуальном виде.
И незачем было так далеко ходить.
Re: Где найти справочник команд по С?
Значит, когда Вам понадобится gtk, нужен будет ещё один справочник.
там будет видно, может я glade интуитивно освою, когда понадобится.