+ Ответить в теме
Страница 2 из 2 ПерваяПервая 1 2
Показано с 21 по 26 из 26

Тема: Многофайловые проекты на С++

  1. #21
    Гений wertyman Включаюсь wertyman Включаюсь wertyman Включаюсь wertyman Включаюсь Аватар для wertyman
    Регистрация
    03.05.2006
    Возраст
    34
    Сообщений
    2,077
    Поблагодарил(а)
    566
    Получено благодарностей: 875 (сообщений: 424).

    По умолчанию

    Цитата Сообщение от elektr Посмотреть сообщение
    МASM ---а в чем там концептуальная простота ?
    Ну, нужно знать только основные оп коды и там только if и один цикл while вроде, и то макросы. Короче, не нужно шипко то долго синтаксис учить, сиди штудируй себе push, pop

    По идее ничего подключать не надо. Покажи ошибку, которую компилятор выдает ?

    Знать, как писать, не означает уметь писать....

  2. #22
    Умник elektr кто это? Аватар для elektr
    Регистрация
    30.06.2008
    Сообщений
    645
    Поблагодарил(а)
    46
    Получено благодарностей: 103 (сообщений: 90).

    По умолчанию


    Оффтопик

  3. #23
    aSj
    Guest

    По умолчанию

    Наконец-то руки дошли ответить..
    Цитата Сообщение от wertyman Посмотреть сообщение
    А это твое личное мнение!
    А я скажу, а это не правда, и что ты будешь делать ? Ты сразу поменяешь свою точку зрения !?
    Пойду и повешаюсь, гг.
    Если ты скажешь это без аргументов и никак не опровергнув мои аргументы - я скажу что ты неадекватен и C++ - это твоя религия.
    Цитата Сообщение от wertyman Посмотреть сообщение
    Каждому по возможности, каждому по желанию. Смотря для каких целей ты выбираешь язык, конечно, если тебе лень реализовывать красивый и многофункциональный гуи, то С++ канешно дерьмо... Зато на шарпе ты запаришься реализовывать более менее сырой клиент для vpn протокола например, или любой другой сетевой протокол.
    Кстати, расскажи-ка мне - в чем будут проблемы?
    Цитата Сообщение от wertyman Посмотреть сообщение
    Для разных задач, можно использовать различные инструменты. Я в своей работе всегда использую С++, потому что другой инструмент мне не может дать более простого и удобного способа работы с памятью, структурами данных, и гарантировать работу на всех типах ОС.
    Какая, нафиг, удобная работа, ты где? Ты вообще похоже пишешь на чистом си, какие там структуры есть? Там же ни строк, ни массивов, одни указатели. Это ж почти тот же ассемблер.
    Кстати, чистый си в отличии от C++ некоторый ууузенький смысл имеет.
    Но говорить про его удобство - это просто смешно.
    Он неудобен - но иногда необходим.
    Цитата Сообщение от wertyman Посмотреть сообщение
    Посмотрел библиотеку буст, и что дальше ? Ее насильно заставляют тебя использовать ? Для многих целей моих, достаточно хорошего знания С, а ООП использовать не всегда оправдано, тем более всякие примочки типа STL. Если требуется, то пожалуйста в руки шарп, если нет, то зачем заморачиватся и нагружать себя и пользователей лишним гемороем ? Самое лучшее решение, комбинирование инструментов и когда в команде есть отвечающие за свою область разработчики. ГУИ на шарпе, основные задачи и низкоуровневые операции на Си.
    Вот в том-то и дело - C++ ты не знаешь. Ты используешь Си. То что большинство сишных сырцов можно скомпилить c++ компилятором - ничего не значит. Это разные языки. И Си в отличии от C++ кое-какой смысл имеет. Иногда.
    А STL - это как раз не 'всякая примочка'. Это фигня которая упрощает написание как раз в первую очередь алгоритмического кода. Ну, ценой небольших потерь в производительности, ессно.
    Цитата Сообщение от wertyman Посмотреть сообщение
    Так что, ты не прав! Если какие то вещи ты не можешь сделать на С++, это не означает, что другие не могут, и что это им в лом или неудобно или дерьмово..
    Может у них руки подругому работают
    Да пофигу как у них руки работают. Если для того чтобы работать с метаинформацией создателям QT пришлось писать свой парсер для C++ - это клиника. Это дерьмово. Это - базовая вещь которой добились путем огромных извращений. Ты считаешь что удаление гланд через жопу это нормально?
    Да хоть на реализацию foreach в том qt или бусте посмотри. Это что, нормально? Это сколько нужно потратить усилий чтобы собрать нечто подобное - совершенно элементарное по сути своей.
    Цитата Сообщение от wertyman Посмотреть сообщение
    Другим С++, и стандарт С, вполне пригоден и там есть весь максимум того, что может пригодится. Так что говорив за всех и делая такие выводы, ты как минимум не хорошо выглядишь, а как максимум тебя нужно послать на три буквы Это не хорошо.. Наверно взрослый человек, а такое себе позволяешь...
    А откуда ты знаешь что там есть максимум всего что может тебе пригодится?
    Цитата Сообщение от wertyman Посмотреть сообщение
    з.ы. и если хотелось устроить холи вар, создал бы отдельную тему и там бы дисскутировал... Модератор еще называется
    Модерам тоже хочется поразвлечься

    Добавлено через 47 минут
    Цитата Сообщение от Alander Посмотреть сообщение
    Возникла вот такая проблема:
    этот код работал под МSVС 6.0 SP5:
    std::list<std::string>::iterator myPos=NULL;
    А как его заставить работать под MSVC 8.0 SP1 с теми хедерами, которые идут со студией?

    А с чего ты взял что он вообще должен работать?
    Никто не обещал что хоть какой-то итератор будет указателем или будет принимать указатель в конструкторе.
    В стандарте это не описано, насколько я помню.
    Тем более, непонятно - зачем тебе это нужно.
    Цитата Сообщение от Alander Посмотреть сообщение
    Вот тебе и стандартная шаблонная библиотека! :(
    Тараканы там местами есть, да.
    Впрочем, если хочется переносимости можно использовать stlport

    Цитата Сообщение от Alander Посмотреть сообщение
    aSj, ты меня заинтиговал. Буду(уже) сравнивать CS,Scheme,Python.
    Ну, для достаточно низкоуровневого кода есть, к примеру, D.
    Мне он нравится не слишком, но по скорости почти тот же Си++, а внутри повменяемей.
    Цитата Сообщение от Alander Посмотреть сообщение
    Ну с МASM'ом всё уже ясно. Мощь(размер, скорость) и концептуальная простота языка. Но нужно постоянно заботиться о мелких деталях, т.е. много утомительной рутины...
    Масм - это ужас. Бессмысленное поделие, в общем. Там где реально нужен ассемблер - там все эти if/else/етс нафиг не нужны. Концептуально - МАСМ - это извращение.

    Добавлено через 54 минуты
    Короче, пиши просто
    std::list<std::string>::iterator myPos;
    Последний раз редактировалось aSj; 28.02.2009 в 15:12. Причина: Добавлено сообщение

  4. #24
    Гений wertyman Включаюсь wertyman Включаюсь wertyman Включаюсь wertyman Включаюсь Аватар для wertyman
    Регистрация
    03.05.2006
    Возраст
    34
    Сообщений
    2,077
    Поблагодарил(а)
    566
    Получено благодарностей: 875 (сообщений: 424).

    По умолчанию

    Цитата Сообщение от aSj Посмотреть сообщение
    Пойду и повешаюсь, гг.
    Если ты скажешь это без аргументов и никак не опровергнув мои аргументы - я скажу что ты неадекватен и C++ - это твоя религия.
    При чем тут С++ именно ? Я говорил, вообще про мнение.

    Цитата Сообщение от aSj Посмотреть сообщение
    Кстати, расскажи-ка мне - в чем будут проблемы?
    Я конечно не гуру в шарпе, 2 месяца назад тока выучил и проект сдал, но работа с сырыми/необработанными буферами, это ахтунг какой то, приведения типов через жопу, просто байтик чтобы прочитать нужно 3 строчки написать. Например вот такую функцию сколько гемора мне стоить будет написать ?
    Код:
    int PppTerminateRequest(SOCKET gd, SOCKET sd, u_int16_t call_id, u_int32_t seq, pvpn_targets target)
    {
        typedef struct _p {
            pptp_gre_header header;
            ppp_header ppp;
        } p;
        
        p packet;
    
        int result        = 0;
        int pay_len        = 0;
        int packet_len    = 0;
    
        u_int8_t lcp_term_req[] = "\x05\x00\x00\x04";
        uchar buffer[1024];
    
        if(debug_level > 0) dbgprint("|%s| Sending terminating connection request...\n", target->szIP);
    
        memset(buffer,    0, sizeof(buffer));
        memset(&packet, 0, sizeof(packet));    
    
        PptpSetLinkInfo(sd, call_id, target);
    
        pay_len = sizeof(lcp_term_req) - 1;
        
        packet.ppp.address = hton8(PPP_ADDRESS);
        packet.ppp.control = hton8(PPP_CONTROL);
        packet.ppp.proto   = hton16(PPP_PROTO_LCP);
        pay_len += sizeof(ppp_header);
    
        PppMakeGreHeader(&packet.header, PPTP_GRE_FLAG_K | PPTP_GRE_FLAG_S, call_id, pay_len, seq+1, seq);
        
        memcpy(buffer, &packet, sizeof(packet));
        memcpy(buffer + sizeof(packet), lcp_term_req, sizeof(lcp_term_req)-1);
        packet_len = sizeof(packet)+sizeof(lcp_term_req)-1;
    
        if(SendSome(gd, (BYTE *)buffer, packet_len) <= 0) {
            if(debug_level > 0) dbgprint("|%s| Error sending PPP_CHAP_CODE_TERM_REQ packet: %d\n", target->szIP, GetLastError());
        } else result = 1;
        
        return result;
    }
    Если у шарпа по определению, структура - это класс, что он еще запихает в него, хз.. И как мне потом отправлять эти данные ? Он что угодно отправит, но не точно сформированный запрос, угу?

    Цитата Сообщение от aSj Посмотреть сообщение
    Какая, нафиг, удобная работа, ты где? Ты вообще похоже пишешь на чистом си, какие там структуры есть? Там же ни строк, ни массивов, одни указатели. Это ж почти тот же ассемблер.
    Генитально! Си сравнить с ассемблером)) Ты где учился ? Наверное в нашем старом добром БрГУ? Что в твоем определение структуры то ? А то, с таким заявлением, я даже боюсь тебе что то отвечать))
    Массивов нет) Дядя, массив - это не такой класс, куда запихнул значение, вынул, удалил, не думая о том, куда это все ложится, где хранится и сколько памяти занимает.. Вы может вообще не учились нигде ? Или вам не успели объяснить, как и что из себя представляет массив, структура ? Ощущение такое, что со мной разговаривает религиозный дельфист, который начал свое существование как программист с книжки, Текстовый редактор на Дельфи за 5 минут))
    Массивы, которые сейчас представляются, давно уже не те массивы, что были, это уже и массивами называть сложно, скорее коллекции или списки, но не массивы.

    Цитата Сообщение от aSj Посмотреть сообщение
    Кстати, чистый си в отличии от C++ некоторый ууузенький смысл имеет.
    Но говорить про его удобство - это просто смешно.
    Он неудобен - но иногда необходим.
    Кто говорил, что он удобен? о_О
    Да и опять же, для кого то удобство, это вон псевдомассивы и 100 строк кода за один клик мышью, а для кого то, низкий уровень, незамысловатость синтаксиса, переносимость, независимость.

    Цитата Сообщение от aSj Посмотреть сообщение
    Вот в том-то и дело - C++ ты не знаешь. Ты используешь Си. То что большинство сишных сырцов можно скомпилить c++ компилятором - ничего не значит. Это разные языки. И Си в отличии от C++ кое-какой смысл имеет. Иногда.
    А STL - это как раз не 'всякая примочка'. Это фигня которая упрощает написание как раз в первую очередь алгоритмического кода. Ну, ценой небольших потерь в производительности, ессно.
    Если я его не использую всегда и везде, это не означает, что я его не знаю. Ребяческие выводы какие то, сударь.
    Цитата Сообщение от aSj Посмотреть сообщение
    Да пофигу как у них руки работают. Если для того чтобы работать с метаинформацией создателям QT пришлось писать свой парсер для C++ - это клиника. Это дерьмово. Это - базовая вещь которой добились путем огромных извращений. Ты считаешь что удаление гланд через жопу это нормально?
    Да хоть на реализацию foreach в том qt или бусте посмотри. Это что, нормально? Это сколько нужно потратить усилий чтобы собрать нечто подобное - совершенно элементарное по сути своей.
    Согласен, да и не спорил я с тобой. Я сразу сказал, что всему свой инструмент, выбирать по возможностям надо, а если тебе это не пригодится в проекте, или ты можешь сделать лучше, то выбор может оказатся не верным, а по сути просто "понтовым".
    Извини, тех, недальновидных людей, которые разрабатывая стандарт С99, не имели машину будущего и не догадались, что через 10 лет, их будут поносить, за то, что они не знали о xml, что компьютеры будут в 20 раз мощнее, что 8 гигабайт оперативной памяти - это обычная вещь.

    Цитата Сообщение от aSj Посмотреть сообщение
    А откуда ты знаешь что там есть максимум всего что может тебе пригодится?
    Опять какое то ребячество. Ну если я говорю, я наверно знаю, что говорю. Глупость какая то, доказывать человеку, что я знаю, то что знаю. Ты в голове у меня чтоли порылся ? Мысли читать по тексту научился ?
    Вот блин, думаю, а Билл знает, что он писал ОС на дерьмовом языке, и что он не использовал весь максимум, что ему может пригодится ?) А что, все более менее серьезные проекты написаны на С + С++ ( на вскидку: Фаерфокс, Квака ) это ниче? 90% всех исходников, что можно найти в инете и opensource программ, написаны на Си + С++, это наверно то же совпадение, и люди просто плохие программисты, что сделали такой ужасный выбор :( Ты всем этим людям будешь доказывать, что они неправы ?

    Вообщем, времена меняются, программисты то же, раньше с ассемблера начинали, а сейчас ассемблер к Си приравнивают. Чего поделаешь, люди деградируют и становятся лентяями, но я никого не обвиняю, разработчики (заметь не программисты) то же нужны, в мире, где иногда нужно быстро и качественно залепить офиссную програмульку, когда наработано уже столько, что по кускам можно не долго и ОС состряпать) Но нахальство по этому поводу недопустимо, доказывать человеку, что черное это белое, лишь потому что, он другой школы и руки из другого места растут, гон.. Так что, иди многоуважаемый aSj на йух))

    Знать, как писать, не означает уметь писать....

  5. #25
    Новичок Alander кто это?
    Регистрация
    17.02.2009
    Сообщений
    10
    Поблагодарил(а)
    0
    Получено благодарностей: 1 (сообщений: 1).

    По умолчанию

    Стандартно. Ошибка только в Release.
    1>.\111.cpp(16) : error C2440: 'initializing' : cannot convert from 'int' to 'std::list<_Ty>::_Iterator<_Secure_validation>'
    1> with
    1> [
    1> _Ty=std::string,
    1> _Secure_validation=true
    1> ]

    С подключённым STLport-5.2.1

    1>.\111.cpp(16) : error C2440: 'initializing' : cannot convert from 'int' to 'stlp_std::priv::_List_iterator<_Tp,_Traits>'
    1> with
    1> [
    1> _Tp=stlp_std::string,
    1> _Traits=stlp_std::_Nonconst_traits<stlp_std::strin g>
    1> ]
    1> Constructor for struct 'stlp_std::priv::_List_iterator<_Tp,_Traits>' is declared 'explicit'
    1> with
    1> [
    1> _Tp=stlp_std::string,
    1> _Traits=stlp_std::_Nonconst_traits<stlp_std::strin g>
    1> ]

    Но если подклюить STLport-4.6.2, то 1>111 - 0 error(s), 0 warning(s)
    С этим STLпортом у меня тоже несовсем всй гладко. Дело в том, что его нужно скомпилить, но сделать это по предложенным там правилам не получается из-за отсутствия makfile для VS8, мало ли какие там могут быть options. Хоть в данном случае либа не потребуется, но опираться на STL в проекте без неё ...
    ... Проще взять все инклуды с либами из VS6 или писать всё "заново(громко сказано)".

    К слову, этот контейнер мне понадобился для того, что там я собирался "складывать" упавшие фигуры, но подумавши решил, что хватит и массива, т.к. корзина имеет ограниченную небольшую размерность. Но щас это уже дело принципа, надо разобраться с этими всеми векторами, списками и т.п..

    Цитата Сообщение от aSj Посмотреть сообщение
    Короче, пиши просто
    std::list<std::string>::iterator myPos;
    А если мне надо такое: if (myPos!=NULL) ?И почему Debug пропускает эту ошибку, а Release нет?

    Цитата Сообщение от wertyman Посмотреть сообщение
    просто байтик чтобы прочитать нужно 3 строчки написать
    А если написать на С++(или там дельфи) и скомпилить в либу, и прилинковать потом её к шарпу? Интересно, # такое позволяет?
    Последний раз редактировалось Alander; 01.03.2009 в 07:57.

  6. #26
    Гений wertyman Включаюсь wertyman Включаюсь wertyman Включаюсь wertyman Включаюсь Аватар для wertyman
    Регистрация
    03.05.2006
    Возраст
    34
    Сообщений
    2,077
    Поблагодарил(а)
    566
    Получено благодарностей: 875 (сообщений: 424).

    По умолчанию

    Цитата Сообщение от Alander Посмотреть сообщение
    А если написать на С++(или там дельфи) и скомпилить в либу, и прилинковать потом её к шарпу? Интересно, # такое позволяет?
    Конечно, только слинковать ее не получится, только делать DLL, ну на крайний случай COM объект. Про что я ему и говорил уже) Каждому по возможности и по желанию. И лучший вариант, когда в команде несколько программистов, который реализует свою задачу..

    Знать, как писать, не означает уметь писать....

+ Ответить в теме
Страница 2 из 2 ПерваяПервая 1 2

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

     

Похожие темы

  1. Новые постройки
    от ShuTe.rr3 в разделе Всё о Братске
    Ответов: 88
    Последнее сообщение: 31.08.2008, 11:04
  2. Ответов: 23
    Последнее сообщение: 04.04.2008, 23:26
  3. Напишу дипломные проекты
    от Воланд в разделе Работа, найм, образование
    Ответов: 0
    Последнее сообщение: 30.01.2008, 01:32
  4. Within Temptation
    от Shved в разделе Rock
    Ответов: 6
    Последнее сообщение: 21.01.2008, 13:40
  5. Проекты Google
    от ДиМаС в разделе Software
    Ответов: 0
    Последнее сообщение: 30.01.2007, 15:26

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
Рейтинг@Mail.ru
Администрация сайта не выражает согласия
с высказыванием участников форума и не несет
ответственности за их содержание.

Копирование любого материала возможно только
при наличии ссылки на сайт.