[ C / C++ ] — начинающим: задаем вопросы (архивная - 2015)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. rudi

    rudi Active Member

    Joined:
    3 Jun 2010
    Messages:
    492
    Likes Received:
    186
    Reputations:
    5
    printf("%c\n",&t[1]);
     
  2. pycmep

    pycmep New Member

    Joined:
    17 Aug 2010
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    Нужны регулярки (регулярные выражения), не подскажите, что использовать?
    PCRE или Boost? Что лучше? Или что-то другое?

    Boost что-то очень много весит :О

    VC++ 2010
     
  3. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    я пользуюсь только Boost, все устраивает, хоть и сложно в плане изучения
     
    #5983 SHiNiGaMi, 30 Dec 2010
    Last edited: 30 Dec 2010
  4. GRRRL Power

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

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    В бусте несколько библиотек регулярок, но boost::regex пока что сыроват по-моему, и PCRE быстрее. А так, можно хоть std::tr1::regex использовать, если VS2010)
    http://www.johndcook.com/cpp_regex.html
     
  5. pycmep

    pycmep New Member

    Joined:
    17 Aug 2010
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    Решил попробывать std::tr1::regex, подключил #include <regex> и моя программа весящая 65 Кб стала 1,25 Мб О_О

    Если использовать boost или pcre, размер тоже такой будет?

    Вчера на каком-то форуме читал, что от их использования размер возрастает на ~50-100 Кб.
    Почему std::tr1::regex тогда 1 Мб ?
     
  6. GRRRL Power

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

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Насчет boost::regex точно не могу сказать, а pcre весит 100-200кб.

    Скомпилировал пример
    PHP:
    #include <iostream>
    #include <string>
    #include <regex>

    void main()
    {
        
    std::tr1::cmatch res;
        
    std::string str "<h2>Egg prices</h2>";
        
    std::tr1::regex rx("<h(.)>([^<]+)");
        
    std::tr1::regex_search(str.c_str(), resrx);
        
    std::cout << res[1] << ". " << res[2] << "\n";
    }
    Поставил code generation Multi-Threaded (MT), отключил добавление секции релоков, получил exe 121 кб.
     
    #5986 GRRRL Power, 30 Dec 2010
    Last edited: 30 Dec 2010
  7. pycmep

    pycmep New Member

    Joined:
    17 Aug 2010
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    Вот это вроде нашёл:
    Библиотека времени выполнения: Многопоточная (/МТ)

    А вот это найти не могу :(

    И ещё когда компилирую выдаёт:
    несовместимые параметры командной строки "/clr:pure" и "/MT"
     
  8. GRRRL Power

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

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Русская среда разработки и незнание вообще всего погубят)
    Выставление MT убирает зависимости от всяких рантаймов студии, что в общем-то размер увеличивает. Релоки сильно на размер не влияют.
    Откуда у тебя /clr - не знаю, разве что ты пишешь на C++ .NET, но с этим я помочь никак не могу.
     
  9. pycmep

    pycmep New Member

    Joined:
    17 Aug 2010
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    GRRRL Power,

    Вот я ещё кое-что нашёл, http://msdn.microsoft.com/ru-ru/library/t8t0w9hz.aspx

    Протестировал, всё работает, разобрался уже немного.
    Размер файла не увеличился.

    Вот эти регулярки получается зависят от установленного .NET Framework ?
     
  10. GRRRL Power

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

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Да, это уже .NET framework. Я только не вижу смысла писать на C++, на C# было бы удобнее, раз уж необходим .NET.
     
  11. pycmep

    pycmep New Member

    Joined:
    17 Aug 2010
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    Блин, вот хотел как раз совсем другого.

    Я хочу писать программы на C++ без зависимости от .NET Framework и я запутался :(

    Мне нужно писать на чистом си ? Win32 ? WinApi ?
    Объясните пожалуйста как писать программы без .net framework

    ps:
    Сейчас создал проект, добавил текстбокс и немного винсок кода, скомпилировал и скинул другу протестировать.
    У него нету framework'a. Пишет ошибку про фреймворк.
     
  12. GRRRL Power

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

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    [​IMG]

    [​IMG]

    Гламурные интерфейсы и удобные обработчики нажатий на кнопочки на чистом C++ без фреймворков не посоздаешь уже, нужно использовать либо Win32 API с ресурсами, либо MFC, либо еще какие-то библиотеки вроде Qt.
     
  13. pycmep

    pycmep New Member

    Joined:
    17 Aug 2010
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    Мне кажется это тяжеловато будет для новичка (для меня).

    Как-то все её ругают, большой вес программы и др.

    Вот на счёт этого не знаю, стоит ли пробовать?

    А C++ Builder тоже зависим от .net framework?

    PS: Извините если я вас уже заебал.
     
    #5993 pycmep, 30 Dec 2010
    Last edited: 30 Dec 2010
  14. GRRRL Power

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

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    MFC имеет не очень хорошую архитектуру.
    Qt удобно и кроссплатформенно, но толсто. Кроме того, придется отваливать деньги нокии, если вдруг захочется продавать что-то, написанное с использованием Qt.
    WinAPI - это вообще уже ближе к Си, а не C++.

    C++ Builder лично считаю говном, как и многие программисты, разрабатывающие в VS. Он прост засчет наличия vcl - библиотеки с большим функционалом, который весь реализован за программиста. Минимальный exe будет весить много)
     
  15. pycmep

    pycmep New Member

    Joined:
    17 Aug 2010
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    GRRRL Power, что порекомендуешь?

    Писать на WinApi ? (Читаю, пишут, что много людей без .net framework'a)
    Или же забить и писать на c++\c# под .net ?

    /* Это наверно мой последний вопрос. Спасибо :) */
     
  16. GRRRL Power

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

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    Да что угодно порекомендую, люди используют все из вышеперечисленного, кому что нравится, в том числе и .NET)
    На WinAPI и си разработка длиться будет дольше, чем на том же C#. .NET Framework сейчас есть практически у каждого, так что вряд ли это проблема.
    Можно и с использованием Qt писать, можно вообще на Borland C++, не думая ни о чем. Кому как нравится.
     
  17. j-prof

    j-prof Banned

    Joined:
    29 Aug 2010
    Messages:
    321
    Likes Received:
    11
    Reputations:
    -4
    а можн узнать почему на нём типа лёгко оч или как прост интересно
     
  18. GRRRL Power

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

    Joined:
    13 Jul 2010
    Messages:
    823
    Likes Received:
    185
    Reputations:
    84
    В нем есть библиотека vcl, я писал уже об этом. Прочитай в википедии, что это такое. В борланде можно программировать, особо C++ и не зная. Можно писать код, не задумываясь над тем, как он работает и работает ли он хорошо. А сама среда генерирует отвратный код и отличается нестабильностью работы.
     
    1 person likes this.
  19. NetAng

    NetAng Member

    Joined:
    29 Dec 2010
    Messages:
    75
    Likes Received:
    12
    Reputations:
    5
    Dev C++
    [​IMG]
    Какие файлы нужно подключать при использовании glut
    подключал следующие фалы:
    libglut.a
    libglut32.a
    glut32.lib
    glut.lib
    не компилируется
     
  20. SHiNiGaMi

    SHiNiGaMi Banned

    Joined:
    3 Jan 2010
    Messages:
    382
    Likes Received:
    55
    Reputations:
    15
    Rayzon
    Можно упаковать чем-нибудь, например UPX, можно скопировать файл windows.h и из копии удалить прототипы функций, которые не нужны, а потом эту копию инклудить вместо целого windows.h, а вообще вот: http://www.google.ru/search?source=ig&hl=ru&rlz=&q=C%2B%2B+WinAPI+%D1%83%D0%BC%D0%B5%D0%BD%D1%8C%D1%88%D0%B8%D1%82%D1%8C+%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80+exe&btnG=%D0%9F%D0%BE%D0%B8%D1%81%D0%BA+%D0%B2+Google&aq=f&oq=
     
Thread Status:
Not open for further replies.