Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > [ann] Code::Blocks |
Автор: chipset 27.11.2005, 06:38 |
Собственно, как я уже упомянул в отдельном LJ, MSVC++ рулит настолько что я с июля пользуюсь исключительно Code::Blocks которая не очень уступает вышеупомянутому порождению мелких и мягких за которые кстати ещё и просят честнозаработанные деньги. Собственно, не буду разводить тут священные войны, перейду к делу. А дело тут серьёзное ![]() После запуска C::B учтительно спрашивает, - А не пожелал бы многоуважаемый господин выбрать дефолтный компилятор уже в конце-концов, блин?, - и выводит список найденных компиляторов. Официально поддерживаються: - GCC (MingW / Linux GCC) - MSVC++ - Digital Mars - Borland C++ 5.5 - Open Watcom Кстати, под MSVC++ также подразумеваеться недавно выложенный добрыми дядечками из MS под скромным но достойным названием Microsoft Visual C++ Toolkit который, если вы забыли принять лекарство от склероза, находиться к бесплатному выкачиванию http://msdn.microsoft.com/visualc/vctoolkit2003/. Очень полезная, хочу добавить, фича заключаеться в том что менять компилятор можно буквально на лету что безусловно найдут очень полезным всякие любители совместимости с компиляторами и стандартом. В относительно рабочем состоянии C::B выглядит примерно http://www.ljplus.ru/img/m/r/mr_chipset/cbmainwin.JPG. Впрочем, не буду утомлять вас скриншотами, при остром желании просмотреть эти самые шоты просто сделайте два клика мыши http://codeblocks.org/screenshots.shtml. Самое главное, то что я предьявляю основным требованием и из-за чего кстати не поселилась на моём компьютере DevC++ и жила долгие годы MSVC++ c её убойным VAX -- AutoComplete в C::B на счастье присутствует. Правда сразу скажу, до VAX C::B ещё расти и расти, но относительно простые выбросы списка предполагаемых классов по Ctrl+Space есть. Также есть самое главное -- подсказка по прототипам функций. К огромнейшему сожалению отсутствует любой намёк на AutoComplete среди методов и свойств классов, но это ещё можно пережить. Из явно положительных чёрт можно отметить встроенную поддержку CVS и SVN(!), небольшой авто-форматировщик кода (AStyle) и ещё несколько плагинов которые идут в стандартной поставке. Про скорость и стабильность можно сказать много хороших слов. C++&wxWidgets дали свой урожай и при работе с C::B даже не всегда получаеться допить чашечку кофе в периоды "тормозов" когда система явно озадачена вашими запросами. Хочу отметить что даже пяти чашечек кофе не хватало для MSVC++ и IntelliJ IDEA так что в этом плане CB конечно-же оказывает благоприятное влияние на вашу сердечно-сосудистую систему. Стабильность тоже не подводит, 1.0RC2 например ни разу не вылетела. Вот в общем и всё, я ж не буду тут расписывать всякую чушь по мелочам, правильно? Как говорят жители североамериканского континента: Enjoy! |
Автор: S.A.P. 27.11.2005, 13:16 | ||
Я уже писал о нем в верхней теме, IDE действительно классная. Есть пару ляпов, но для версии 1.0 это позволительно. Старичка Dev-cpp я уже проводил в последний путь.
|
Автор: rsm 27.11.2005, 13:36 | ||||
А как включить эти фишки? Настроил компилер (VC++ 2003 Toolkit), прописал пути к хидерам, поставил в настройках галочки на автодополнение - реакции никакой, ни автодополнения, ни подсказки по функциям. Что я делаю неправильно? |
Автор: S.A.P. 27.11.2005, 13:43 |
Посмотри настройки Code Completion. Еще иногда приходится сохранять проект и зайти на Symbols->Re-parse now (закладка с Class Browser). |
Автор: srd 27.11.2005, 13:50 |
Интерфейс к gdb жестоко тормозит ![]() |
Автор: rsm 27.11.2005, 14:23 | ||||
Поставил все галочки для парсинга.
Автодополнение не появилось. Появились подсказки по функциям, но работают они крайне криво - нужно указывать окончание функции (например CreateFontA). |
Автор: Дмитрий Т 27.11.2005, 15:54 |
Меня отпугнула кривость отладки, а именно пошаговое выполнение программы отановилось на одной строке и не двигалось. Ещё, WxWidgets формы писать на DevCpp (wxdsgn.sourceforge.net) больше понравилось. Так что пока наверное подожду следующей версии. |
Автор: chipset 27.11.2005, 18:44 | ||||
Не, я немножко про другое:
|
Автор: Mayk 27.11.2005, 19:19 |
В сабже можно читать man'ы и/или другую документацию? |
Автор: S.A.P. 27.11.2005, 19:29 | ||||||||
![]()
У меня даже кутешные классы автодополнялись, правда не все, не всё и не всегда ![]() ![]() Добавлено @ 19:31
|
Автор: Arkadiy 28.11.2005, 07:06 |
можно ли отладчик настроить чтобы было как в vs? а именно: окошко с регистрами, память,callstack,disassembly, autos, watch? |
Автор: S.A.P. 28.11.2005, 09:14 | ||
можно c MinGW по крайней мере. Заходишь в Setting->Compiler, ставишь добавление отладочной информации, потом ставишь бреакпоинт и нажимашь F8 ( пошла отладка ), лезешь в Debug->Debugging windows->CPU - появляется окно с дизасмом и регистрами (если хочешь увидить текущую комманду, жми shift F7, чтобы сдвинуть курсор), лезешь в закладку Wathes, в левой панели - увидишь локальные переменные и аргументы функций. Если надо что - то большее, то читаешь доку по GDB и общаешься с ним через Debug->Send command to GDB. Добавлено @ 09:15 Ответ удовлетворяет? ![]() |
Автор: Arkadiy 28.11.2005, 12:56 |
Perchilla да ответ удовлетворяет ![]() правда малость непривычно ![]() |
Автор: LPBOY 28.11.2005, 12:59 |
Блин, а у меня при нажатии на кнопку "New File", она вылетает. ![]() |
Автор: Mayk 28.11.2005, 20:20 | ||||
Я VS не сильно любил. Любил борлу. Поэтому что такое dynamic help представляю слабо[у гугля спросил]. Вообщем программа минимум - в списке документации есть кнопка "Add", программа максимум - я навожу курсор на sighandler, жму что-то и во вкладке отображается man. Ах да! Там еще можно перейти к объявлению структуры? То есть у меня есть
в a.cpp я навожу курсор на sss, что-то жму, перехожу в a.h и смотрю тело структуры, дабы его немного изменить |
Автор: S.A.P. 1.12.2005, 14:23 | ||||
![]()
|
Автор: rsm 12.12.2005, 15:08 |
Просматривал старые материалы, нашел свою статью "Настройка и использование среды разработки Code::Blocks Studio для написания программ на основе библиотеки Qt". Ссылки в ней уже дохлые, да и версии программ устарели, но суть не изменилась. Может кому интересно будет почитать? Выложил http://webfile.ru/685309 (PDF, 198 Кб). |
Автор: Fighter 22.12.2005, 21:44 | ||
И все-таки не понятно мне, как сделать чтобы список не выпадал. У меня он не выпадает. |
Автор: S.A.P. 22.12.2005, 22:26 | ||
1. Зайти в настройки плагина CodeCompletion и настроить его (там все просто) 2. Если не помогло - сохранить проект. 3. Если не помогло - зайти в ClassBrowser на левой панели и Symbols->reparse how. |
Автор: Fighter 22.12.2005, 22:32 |
У меня CodeCompletion только в Help'e. В меню Plugins его нет. И ни о каком ClassBrowser не идет и речи. Может быть я что-то не так установил (фиг знает), но пока что со всем этим у меня гимор. Вот если CodeCompletion заработала бы - я бы этот MSVC+ Shift+Del и все. |
Автор: S.A.P. 22.12.2005, 22:41 | ||
Settings->PluginSettings |
Автор: bel_nikita 22.12.2005, 22:44 |
Круто! Но свой MSVC6 + http://www.wholetomato.com/ ни на что не променяю ![]() З.Ы.: Если только на другие ОСи перейду |
Автор: Fighter 22.12.2005, 22:48 |
Даже не знаю. У меня галок у Disable Code COmpletion и у Disable SmartSense нет, а все равно не работает. |
Автор: S.A.P. 22.12.2005, 22:54 |
Ё МОЁ!!!!!!! Во вкладке parser поставь галочки, потом зайди в Symbols->re-parse how, потом сохрани проект. Должно работать! |
Автор: Fighter 22.12.2005, 23:02 |
МММ, уже сдвиг, дерево классов создает, а вот теперь надо чтобы он выводил список функций, переменных-членов в классе. Или все-таки такой шняги здесь нет.? |
Автор: And234 23.12.2005, 22:13 | ||
|
Автор: rsm 23.12.2005, 23:43 | ||
Дебаг чем, каким отладчиком? gdb я вообще не знаю, не нравится он мне. Сам юзаю OllyDbg. |
Автор: VictorGS 19.10.2006, 15:23 |
Блин, а у меня Code Completion работает частично! т.е. ... стоп понял. Code Completion работает только тогда когда заголовочный файл подключен к проекту. т.е. #include - недостаточно, нодо сделать = меню Project, Add files .! Или я чего-то непонял. А как заставить в редакторе во время отладки светить текущую позицию зеленым треугольником (там где ставятся метки точки останова)? |
Автор: VictorGS 19.10.2006, 16:26 |
А как заставить работать DevPaks updater через прокси? |
Автор: Любитель 19.10.2006, 16:44 |
Тупой вопрос - дебаг не для MinGW возможен. Если да, то как? |
Автор: S.A.G. 19.10.2006, 18:12 |
С выхода прошлой версии прошел уже год... ![]() |
Автор: UnrealMan 19.10.2006, 20:23 |
А что, уже появилось чего-то новое? А то после MSVC среда C::B 1.0 RC2 совсем не впечатляет. Да ещё и MinGW этот реализует typeid().name() в виде тако-о-ой абракадабры... :-( Кстати, горячие клавиши в C::B можно назначить? |
Автор: bsa 19.10.2006, 22:18 |
Горячие клавиши настраиваются в разледе Settings - Editor - keyboard shortcuts. Юзать лучше не 1.0RC2, а nightly build. |
Автор: JackYF 20.10.2006, 15:32 |
bsa, какие там добавлены усовершенствования по сравнению с 1.0 RC2 ? |
Автор: S.A.G. 20.10.2006, 16:15 | ||
Усовершенствования вместе с багами. Я бы подождал выхода новой версии. ![]() |
Автор: bsa 20.10.2006, 17:06 | ||||
Ты, думаю, долго будешь ждать. Версии 1rc2 через 5 дней год исполнится... ![]() |
Автор: bsa 21.10.2006, 11:00 |
Я ставлю поверх - так проще: удаляю папку share, а потом распаковываю архив поверх всего этого. И все работает. ![]() Но можно и с нуля, тогда надо еще mingw докачивать, как минимум. |
Автор: WERITAS 21.10.2006, 22:54 |
Хорошая такая IDE. Если бы я жил в Америке, я бы ее юзал. А в России пЕратство, поэтому юзаю VS 2005 : ) (не для коммерческих целей есесвенно) |
Автор: S.A.G. 22.10.2006, 10:48 | ||
А в чем прикол юзать не для коммерческих целей VS 2005? Допустим хорошо научишься на ней лабать но всеравно никогда не смогешь купить ее за такие $. Бесплатные среды типа C::B и Dev C++ рулят. ![]() |
Автор: JackYF 23.10.2006, 15:27 |
Ребята, ни у кого не возникало проблем с профилировщиком? Все делает прекрасно, доходит до парсинга результатов, половину проходит и вылетает... а с ним и вся среда. |
Автор: Fighter 24.10.2006, 05:16 | ||
Если понадобится, то напишет на пиратской, потом придет к знакомому программисту и на его лицензионном компиляторе все соберет. Все просто. |
Автор: Любитель 24.10.2006, 16:21 |
Если ограничиваться бесплатными IDE, то Eclipse + CDT без сомнения. C::B и тем более Dev C++ и рядом не лежали. Кстати, так никто и не сказал, про дебаг не MinGW в C::B. В противном случае зачем вся муть с несколькими компилерами. Тут уж студия (2005) рулит без сомнения. С помощью рульных RULE-файлов ![]() |
Автор: JackYF 24.10.2006, 16:36 |
Я под Eclipse пытался настроить компилятор, но не смог. Кроме того, там чего-то под Java весь интерфейс заточен... Если не прав - пните. Code::Blocks имеет интерфейс, допустим, победнее, но зато написан не на Java, да и много хороших фич есть. Мне понравилось... |
Автор: Daevaorn 24.10.2006, 16:43 |
Да. бывают проблемы. При идеологии Perspective, двумя кликами мыши перемещаешься в другое окружение, где всё адаптировано под С++. Удобно. |
Автор: Любитель 24.10.2006, 17:45 |
Автор: Levenson 24.10.2006, 19:42 |
Мда ребяты! IDE действительно неплохая. Смахивает на SlickEdit. Хотелось чтоб вы затестили SlickEdit. Так как он ветеран в этой области. Уверен что "он" вам понравиться. |
Автор: JackYF 24.10.2006, 21:02 |
Ну, пока, видать... плагин дебага написан пока только для GDB..., насколько я понимаю... |
Автор: S.A.P. 25.10.2006, 11:05 | ||
к сожалению SlickEdit не относится к разряду бесплатных IDE, что несколько сбавляет интерес к нему. Хотя отзывы слышал только хорошие ![]() |
Автор: Любитель 25.10.2006, 14:31 |
В принципе написать плагиснкий фронт-энд не такая проблема. Можно задать вопрос по другому - есть ли бесплатные (виндовые) дебаггеры (про C++ конечно речь) не для MinGW? Правда, всё равно не вижу преимуществ перед студией (кроме, безусловно, небольшой ![]() ![]() |
Автор: JackYF 25.10.2006, 15:13 |
Любитель, Ну может, на Visual Assist и не катит... Но... В какой еще среде ты можешь сделать подстветку части ключевых слов С++ и (опциально) своих выделить другим цветом? Мне, например, такая возможность очень понравилась ![]() Кроме того, последний Nightly Build ( напр. 23.10.2006 ) очень прибавил по сравнению с RC2: Добавилась куча полезных опций, улучшился внешний вид и т.д. Перспективы очень немаленькие у этой среды... |
Автор: Любитель 25.10.2006, 15:35 | ||
Не поверишь - к примеру, VS. ![]() Лично я считаю, что настоящей IDE, написаный сипипишниками для их самих не будет, пока не будет доделан стандарт. Объективно, говоря, он не доделан. Понятия бинарных библиотек как такового нет, тем более динамических. Необходимо понятия на уровне компилятора и компоновщика (который тоже желательно во многом стандартизировать) проекта. Нечто вроде сборок в дотнете. Взаимодействие нескольких комплеров сегодня нормально невозможно - как минимум все по-разному декоратят имена функций, это необходимо стандартизировать. Многие упорно считают выходом extern "c", но это и близко не похоже на выход - это извращенье. Мы же пишем на плюсах! В идеале, хотелось бы стандартизировать формат дебаг-данных (хотя бы, чтобы каждый компилер поддерживал стандартный и опционально свой). Нету так же стандартного ГУИ. Знаю, что меня будут жестоко пинать - но его стандартизация объективно необходима. Это не обязывает вас его юзать, это обязывает разработчиков компилеров включать его в стандартную библиотеку. Как говорит сам Бьярни, если вы отказываетесь от стандартного ГУИ, то почему вас устраивает стандартизация контейнеров. Может она тоже не нужна? Ведь в своё время (до официального стандарта) почти каждая библиотека для C++ (особено речь о ГУИ-фреймворках) считала своим логам дать програмисту контейнеры. Причём разные... Не гуд. В плане библиотек огромные надежды вселяет буст - разговоры о Boost.GUI ведутся там частенько. Есть кстати предложение написать затем Boost IDE, с wave-препроцессором (опционально), bjam-билдингом (всё-таки я требую понятия проектов, сборок или чего-то в этом роде - т. е. конечной цели билдинга нескольких файлов) и пр. Это интересно. Но, повторюсь, для качественной реализации всего этого необходима гораздо более тщательная стандартизация языка (буст-девелоперы с этим согласны). Что ж, поживём - увидим. |
Автор: JackYF 25.10.2006, 16:01 |
Поверю... Только вот при этом занимает ли VS 12 Мб? Установится ли она на Windows 95? На предполагаем вопрос - "Зачем и кто сейчас работает на Windows95?" отвечаю: Например, у нас в универе, на факультете прикладной математики... На этом г...е мы сдаем не только лабораторные работы, но еще и полноценные курсовые проекты... ![]() А теперь вопрос: кто угадает, в какой среде мы по-умолчанию изучаем великий и могучий язык С++? Ответ: на Borland C++ 3.1 ( выход - 1989-1990 г. ) Какая еще более-менее нормальная среда туда станет? VS, Builder, Eclipse, SlickEdit? ![]() Знаете, сколько оперативки на этих компах? - 32 Мб. Затрата ресурсов по памяти у CB явно меньше... Наконец я нашел то, что во многих ситуациях может оправдать мои надежды... P.S. Да, есть у нас компы и получше... Но эти-то никто не отменял... Добавлено @ 16:05 Любитель, А насчет стандартизации контейнеров ты не прав... Если у двух разных IDE тебе придется на формочку поставить контрол с другим названием, видом и т.д. - думаю, не велика проблема... А вот если у тебя есть твоя база алгоритмов и функций и она на одном компилере компилится, а на другом уже нет, потому что там одни библиотеки есть, других нету, третьи имеют видоизмененные имена контейнеров, а у четвертых другой стиль именования функций-членов - вот это уже мне бы очень не понравилось... |
Автор: Любитель 25.10.2006, 16:26 | ||
А если ты не в IDE работаешь? Ты просто пишешь проект, использующий ГУИ. Приносишь куды-нибудь.. ан-нет, твоей библиотечки тут нету. Не следует равнять IDE и GUI-библиотеку. Ещё раз подчеркну - это не только моё мнение, это мнение очень авторитетных сиплюплюсников. Добавлено @ 16:32 А вот на счёт твоего универа - жестоко, конечно. В нашем в некоторых аудиториях двухъядерники поставили с ЖК-мониторами ![]() Но все равно, если бы был стандартный ГУИ, поверь производительность его была бы хорошей => можно было даже самим (я вполне серьёзно) написать что-то пригодное для универа, но ![]() |
Автор: JackYF 25.10.2006, 16:59 |
Даже нормальное эффективное консольное приложение необходимо отлаживать... делать это с помощью log'a в файл / на экран - уже отжило. Все-таки в этом плане CodeBlocks - неплохая вещь. Насчет GUI не под IDE - это что, например? То, что нельзя с собой принести? Насчет стандартизации GUI - извини, есть куча разных операционок, а также взглядов людей на то, как удобный IDE|GUI должен выглядеть/работать. ИМХО стандартный IDE|GUI - в теории неплохо, а на практике неприменимо. |
Автор: Любитель 26.10.2006, 10:04 |
Тем не менее в яве и дотнет стандартный ГУИ успешно существует. Хотя некоторые использует другие библиотеки, но это только подтверждает нормальность стандартизации. Извини, не понял смсла фразы. В каком? Как IDE для доисторических компов? Смоневаюсь, что ребята писали его с этой целью. |
Автор: JackYF 26.10.2006, 15:57 | ||
Кто его стандартизировал и на чем этот ГУИ написан? Запустится ли этот ГУИ в Линухах? FreeBSD? Причем тут доисторические компы... Я говорю возможность нормальной пошаговой отладки, а не запись логов в текстовые файлы... |
Автор: Любитель 28.10.2006, 14:57 | ||
В .NET - нет (извращенья вроде GTK# я не понимаю), в Java - безусловно.
Получаем: если комп нормальный, то ставим гораздо более навороченные VS или Eclipse. Они обладают ужасно богатыми возможностями и расширения (плагины, адд-ины - не всё ли равно?) под них писать естественно и удобно. Т. е. C::B вроде и не нужен. Получается, что главный аргумент в его пользу - эти самые доисторические компы. Или я тебя неправильно понял? Тогда объясни. Ещё раз подчеркну - один из огромнейших недостатков C::B в слабости (да-да слабости) плагинского АПИ. Почему? Потому что нету: 1. Хорошо спроектированного ГУИ (не говорите мне, что wxWidgets хорошо спроектироdан - в жизни не поверю). 2. Стандарта для помещения классов и пр. в динамические библиотеки. Eclipse легко расширять, потому что в яве это стандартизировано. В плюсах нету - в итоге плагинское АПИ по стуи у C::B сишное (а не плюсовое). Не гуд, совсем не гуд... Возвращаясь к стандартному ГУИ и кроссплатформенности. ОН должен быть кросплатформен на уровне интерфейса. Реализации без сомнения в разных ОС будут разными (да и то, при хорошем проектировании - лишь на уровне 'ядра' ГУИ). Посмотри на ту же всем известную кутеху. Хотя на стандартный ГУЙ она не потянет. Здесь и лицензионные проблемы и всё-таки то, что она во многом не соответствует духу текущей стандартной библиотеки. Во многом (что скрывать) пахнет той же явой, хотя я не говорю, что это какой-нибудь клон АВТ или Свинга (ни в коем случае), но в некоторых моментах проектирования библиотеки в целом (не конкретных моментов) мне кажется стандартный ГУИ (если бы он был) поступил бы по другому. Насчёт образования. Почему я призываю вначале работать без IDE? Потому, что тогда обучаемый (я говорю про новичков в програмировании, коих немало, тебе универское обучение, вероятно, мало что способно дать) привыкнет к языку и поймёт язык. А не кнопочки в IDE. Тем не менее после изучения языка, надо научить основам работы с современными IDE. Такие будут: 1. С++: VS, Eclipse 2. .NET (C#, VB .NET): VS, Sharp Develop и (наверно) BDS (C# Builder) 3. Java: Eclipse, IntelliJ IDEA, Net Beans. |
Автор: JackYF 30.10.2006, 17:34 | ||
То, что я дальше скажу в этом посте - лично мое мнение и на полноту, правоту, справедливость и т.д. не претендует.
Мне не понравились ни VS, ни Eclipse... Хотя комп у меня дома стоит далеко не самый слабый - и VS, и Eclispe становились без проблем... Лично я на ГУИ пишу очень мало ( когда это иногда надо, у меня стоит BDS 2006 Update 2, и вся недолга ). Поэтому меня C::B устраивает... Насчет динамических библиотек согласен... Насчет всего остального... извини, я исхожу из своих потребностей. Вот и все. |
Автор: Любитель 31.10.2006, 17:16 | ||
Ещё раз повторюсь, при хорошем подходе к ГУИ либе и проектированию ИДЕ, ГУИ с ИДЕ никак не связаны. Писать ГУИ без ИДе вполне нормально. Лично для меня ГУИ-дизайнеры в ИДЕ абсолютно не важны. Добавлено @ 17:17 Почему (оченб хотелось бы услышать конкретные замечания и претензии - действительно интересно) |
Автор: JackYF 31.10.2006, 17:45 | ||||
А для меня важны. Иначе - MFC и вперед...
Сказал же - мое личное субъективное мнение... ![]() |
Автор: Любитель 31.10.2006, 18:35 |
Чем? И причём тут MFC. Там как раз без ИДЕ-шных дизайнеров что-то делать - для извращенцев. И всё же. Я не хочу его оспаривать - мне интересно! |
Автор: JackYF 31.10.2006, 19:19 |
Я - человек привычки... У меня сразу составилось общее мнение после первого 5-минутного общения с Eclipse. C VS я работал дольше... Если конкретно интересно - пиши в приват, и вся недолга... Мы уже не по теме давно говорим. |
Автор: SaDFromSpb 1.11.2006, 12:40 | ||||
КОГДА, боже, КОГДА это будет??? Сколько еще нам ждать? Или все-таки еще лет через пяток останутся только среды, основанные на виртуальных машинах? Может быть будущее только за ними? |
Автор: Любитель 2.11.2006, 12:42 |
Как говорит Бъярни C++0x означает скорее C++09, чем C++0xA. Считай теперь. |
Автор: Abradox 31.8.2011, 22:18 |
Извиняюсь что поднимаю старую тему, но спрошу лучше тут. Можно ли в codeBlocks 10.05 как - то включить всплывающую справку по методам класса? К примеру как это было сделано в kdevelop или MSVS. |
Автор: Static 1.9.2011, 12:17 |
Можно скачать последний найтли билд - там достаточно неплохо все работает. |