СИ - куда двигаться дальше.

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by b3, 30 Oct 2012.

  1. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Прочитал пару книг по СИ начального уровня. описание стандартной библиотеки и тд. Хочу развиваться дальше но не могу найти литературу с дальнейшими инструкциями. Хотел бы почитать про разные библиотеки а так же про компилирование исходников которые не состоят из одного файла в 20 строк кода. Написал банальный парсер на курле и тот скомпилировать не смог без сторонней помощи. В начальных книгах не пишут как линковать библиотеки, банального #include <curl.h> не хватило, пришлось компилятору параметр -lcurl давать. Подскажите что нибудь более углубленное.
     
  2. Serafim

    Serafim Elder - Старейшина

    Joined:
    24 Oct 2006
    Messages:
    181
    Likes Received:
    103
    Reputations:
    18
  3. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Спасибо, ни одна книга не подходит. Меня не интересует Си шарп или плюсы. Меня интересует чистый СИ под Линукс.
     
  4. GRRRL Power

    GRRRL Power Elder - Старейшина

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    -lcurl... Тебе не книги надо читать, а мануалы по gcc. А сторонние библиотеки ищутся и изучаются, когда в них возникает необходимость. Решил написать что-то с OpenGL - ищешь либы для работы с OpenGL, ну и так далее...
     
  5. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Ну так и делаю пока-что. Еще вопрос, можете показать пример кода парсера ссылок по регуляркам, имеется страничка (любая html) задача отпарсить ВСЕ ссылки на странице, мой код парсит только первую попавшуюся ссылку получается как preg_match а нужен preg_match_all ето если сравнивать с php
     
  6. m00c0w

    m00c0w Banned

    Joined:
    25 Dec 2011
    Messages:
    104
    Likes Received:
    14
    Reputations:
    5
    Поищи "программирование боевого софта под linux". :) Примеры хоть посмотришь.
     
  7. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Ух книжечка мощная)) Спасибо
     
  8. tipahead

    tipahead Banned

    Joined:
    25 Aug 2012
    Messages:
    13
    Likes Received:
    2
    Reputations:
    0
    b3 смотрю ты и кодишь, и играешь, а в школе успеваешь?
     
  9. 2c9

    2c9 Member

    Joined:
    7 Feb 2011
    Messages:
    53
    Likes Received:
    7
    Reputations:
    1
    __ttp://www.proklondike.com/books/linux/page/1.html
    там есть пара тройка хороших книг по кодингу под линь

    по моему эту задачу проще решить sed'ом
     
  10. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    В школе особенно успеваю.

    Каким образом sed относиться к СИ? Только не предлагай вариант юзать sed через системные вызовы, это хардкор)) За линк благодарю скачал 3 книги, то что нужно)
     
    #10 b3, 31 Oct 2012
    Last edited: 31 Oct 2012
  11. AnGeI

    AnGeI Elder - Старейшина

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    Understanding Linux Kernel
     
  12. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Есть такая, немного читал, там мало затронуто о СИ, немного не то. Выше по ссылкам отличные книги.
     
  13. 2c9

    2c9 Member

    Joined:
    7 Feb 2011
    Messages:
    53
    Likes Received:
    7
    Reputations:
    1
    вообще я не подумал о том, чтобы дописать: "если тебе не в учебных целях, то задача решается одной командой sed'а"

    но если хочется хардкора)))) нельзя себе ни в чём отказывать

    и еще тебе возможно будет интересно: http://rutracker.org/forum/viewtopic.php?t=4216294

    сам не смотрел, но очень хочу.. нет времени =(((((
     
  14. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Мне в учебных целях) За торрент спасибо!
     
  15. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454


    Зачем тебе CURL? Делай на сокетах
     
    _________________________
  16. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Не понял юмора с регулярками.
     
  17. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    Юмор в том что регулярки не годятся для разбора HTML.

    У того же тега a (http://htmlbook.ru/html/a) - есть куча атрибутов + атрибуты data в HTML5. Все они могут стоять в любом порядке, программа в которой жестко заданы регулярные выражения под определенную разметку - обречены по сути, так как разметка может меняться как угодно.

    Для HTML нужен хотя бы простой синтаксический анализатор - который будет различать теги и атрибуты в нем
     
    _________________________
    1 person likes this.
  18. FunOfGun

    FunOfGun Elder - Старейшина

    Joined:
    5 Sep 2012
    Messages:
    388
    Likes Received:
    72
    Reputations:
    124
    меня всегда <a [^>]+> спасала, а дальше уже ковыряться с атрибутами.
     
  19. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Никто не говорит о распарсивании ДОМ на все елементы и атрибуты елементов, мне нужно банально выдернуть все линки по шаблону:
    Code:
    <a href=".*" class="class_name">.*</a>
    Юмор не в тему.
     
  20. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    Юмор будет в тему, когда через 2 дня на веб ресурсе поменяют ссылки на

    <a class="class_name2" href=".*" >.*</a>

    И все твои труды пойдут на смарку.

    Блин, 2 человека уже тебе говорят, что нужно разбирать атрибуты внутри тега отдельно.

    1. Найди тег <a(.*?)>
    2. Возьми все что внутри и удали двойные пробелы \s\s на \s пока их не будет.
    3. раздели строку по пробелам (тот же strtok или аналог explode в php или split)
    4. найди нужный атрибут strpos href !== false
    5. Получи его значение =['|"](.*?)['|"]$
    6. Ppofit + твоей программе будет похрен на извращения контенщиков.
     
    _________________________