Oberon space
General Category => Общий раздел => Тема начата: DddIzer от Июнь 01, 2013, 07:27:58 pm
-
Для тех кому нужна простая , надежная, портабельная ( не привязанная к реестру win), "быстрая", настроенная среда разработки на Си/С++ - рекомендую обратить внимание на
http://orwelldevcpp.blogspot.ru/ (http://orwelldevcpp.blogspot.ru/) По факту это форк - devCPP. Мои впечатления - реализовано почти все что необходимо для обучения, и как необходимо... Т.е практически идеальная "голая" ide для обучения Си/С++ "из коробки" под MSWin.
-
Подтверждаю, пользуюсь.
-
А есть ли какой простенький учебник по современному С++?
-
А есть ли какой простенький учебник по современному С++?
боюсь , что в случае С++ нет ничего универсального (кроме справочников и справочных пособий) - все учебники воспринимаются индивидуально в зависимости от личных особенностей восприятия, исходной базы и целей использования... и без разницы современная версия С++ или нет...
-
но по С есть неплохая https://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CDEQFjAA&url=http%3A%2F%2Frutracker.org%2Fforum%2Fviewtopic.php%3Ft%3D4173427&ei=Z2-sUYeVNMiv4QSiu4DQBA&usg=AFQjCNF4Wc70NBXBJXO7YTc841lo8bJj5Q&sig2=Ov1nK4QqQeDrzjyvNVa-4Q&bvm=bv.47244034,d.bGE (https://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CDEQFjAA&url=http%3A%2F%2Frutracker.org%2Fforum%2Fviewtopic.php%3Ft%3D4173427&ei=Z2-sUYeVNMiv4QSiu4DQBA&usg=AFQjCNF4Wc70NBXBJXO7YTc841lo8bJj5Q&sig2=Ov1nK4QqQeDrzjyvNVa-4Q&bvm=bv.47244034,d.bGE) для вдумчивого чтения- жаль что ее не перевели..
в качестве справочника на начальном уровне.. можно использовать Шилдта "Полный справочник по C" (в виде сhm) - как ни странно вполне употреблять можно (в отличие от его книг по С++)
-
А есть ли какой простенький учебник по современному С++?
У меня сложилось мнение, что для знакомства с языком не имеет смысла читать что-либо отличное от Страуструпа. Для начального уровня (то есть если нужны основы программирования) подойдет Программирование. Принципы и практика использования C++ (http://www.ozon.ru/context/detail/id/6089823/), для тех кому разжевывать всё не нужно, подойдет Язык программирования С++ (http://www.ozon.ru/context/detail/id/5600302/).
Последняя книжка в версии для С++11 уже вышла на английском: http://www.stroustrup.com/4th.html ждем перевода.
Если же требуется просто понять что нового в С++11, то достаточно прочесть http://www.stroustrup.com/C++11FAQ.html и сопутствующие (в том числе видео) материалы.
А Шилдта справочник, боюсь устарел (а книжки его лучше вообще в руки не брать).
-
А Шилдта справочник, боюсь устарел .
да , но на начальном уровне (например, когда вы ИМЕЕТЕ хорошую общую базу, либо владеете на среднем уровне другим императивным ЯВУ) - для быстрого вхождения самое то.. лучше не видел(хотя не без огрехов).
-
но по С есть неплохая https://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CDEQFjAA&url=http%3A%2F%2Frutracker.org%2Fforum%2Fviewtopic.php%3Ft%3D4173427&ei=Z2-sUYeVNMiv4QSiu4DQBA&usg=AFQjCNF4Wc70NBXBJXO7YTc841lo8bJj5Q&sig2=Ov1nK4QqQeDrzjyvNVa-4Q&bvm=bv.47244034,d.bGE (https://www.google.ru/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&ved=0CDEQFjAA&url=http%3A%2F%2Frutracker.org%2Fforum%2Fviewtopic.php%3Ft%3D4173427&ei=Z2-sUYeVNMiv4QSiu4DQBA&usg=AFQjCNF4Wc70NBXBJXO7YTc841lo8bJj5Q&sig2=Ov1nK4QqQeDrzjyvNVa-4Q&bvm=bv.47244034,d.bGE) для вдумчивого чтения- жаль что ее не перевели..
в качестве справочника на начальном уровне.. можно использовать Шилдта "Полный справочник по C" (в виде сhm) - как ни странно вполне употреблять можно (в отличие от его книг по С++)
Стоп. Это всё - про Си, а не про то, что Geniepro просил, не про С++.
Си и С++ это два сильно разных языка, с разной идеалогией и приемами программирования.
-
Стоп. Это всё - про Си, а не про то, что Geniepro просил, не про С++.
Си и С++ это два сильно разных языка, с разной идеалогией и приемами программирования.
я в курсе (и именно по этому разделил сообщения).. то что вы процитировали - о том.. что в случае СИ .. что - то "в общем" нарыть можно.. а в случае С++ необходим индивидуальный подход.
-
А есть ли какой простенький учебник по современному С++?
У меня сложилось мнение, что для знакомства с языком не имеет смысла читать что-либо отличное от Страуструпа. Для начального уровня (то есть если нужны основы программирования) подойдет Программирование. Принципы и практика использования C++ (http://www.ozon.ru/context/detail/id/6089823/), для тех кому разжевывать всё не нужно, подойдет Язык программирования С++ (http://www.ozon.ru/context/detail/id/5600302/).
Последняя книжка в версии для С++11 уже вышла на английском: http://www.stroustrup.com/4th.html ждем перевода.
Если же требуется просто понять что нового в С++11, то достаточно прочесть http://www.stroustrup.com/C++11FAQ.html и сопутствующие (в том числе видео) материалы.
А Шилдта справочник, боюсь устарел (а книжки его лучше вообще в руки не брать).
Да, я имел в виду новые фишки последних лет -- лямбды там, что ещё там такого появилось?
Пока, наверное, только FAQ от Страуструпа годится? Перевод: http://sergeyteplyakov.blogspot.com/2012/05/c-11-faq.html
-
Собственно говоря, с С++ я имею дело по работе только в версии C++Builder 6 (2002г), а это старый глючный компилятор с борландовским диалектом С++.
А вот скачал указанный в этой теме вариант, думаю -- побаловаться что ли на досуге...
Какие преимущества у orwelldevcp по сравнению с тем же Visual C++ 2012, например? Ну, кроме гораздо меньшего размера установщика?
-
в качестве справочника на начальном уровне.. можно использовать Шилдта "Полный справочник по C" (в виде сhm) - как ни странно вполне употреблять можно (в отличие от его книг по С++)
Шилдт же раньше был сильно известен своей книгой по сям, а вот с++ походу так и не освоил на том же уровне )))
-
Собственно говоря, с С++ я имею дело по работе только в версии C++Builder 6 (2002г), а это старый глючный компилятор с борландовским диалектом С++.
А вот скачал указанный в этой теме вариант, думаю -- побаловаться что ли на досуге...
Какие преимущества у orwelldevcp по сравнению с тем же Visual C++ 2012, например? Ну, кроме гораздо меньшего размера установщика?
Наличием нормального, а не микрософтовского, компилятора.
-
А есть ли какой простенький учебник по современному С++?
У меня сложилось мнение, что для знакомства с языком не имеет смысла читать что-либо отличное от Страуструпа. Для начального уровня (то есть если нужны основы программирования) подойдет Программирование. Принципы и практика использования C++ (http://www.ozon.ru/context/detail/id/6089823/), для тех кому разжевывать всё не нужно, подойдет Язык программирования С++ (http://www.ozon.ru/context/detail/id/5600302/).
Последняя книжка в версии для С++11 уже вышла на английском: http://www.stroustrup.com/4th.html ждем перевода.
Если же требуется просто понять что нового в С++11, то достаточно прочесть http://www.stroustrup.com/C++11FAQ.html и сопутствующие (в том числе видео) материалы.
А Шилдта справочник, боюсь устарел (а книжки его лучше вообще в руки не брать).
Да, я имел в виду новые фишки последних лет -- лямбды там, что ещё там такого появилось?
Пока, наверное, только FAQ от Страуструпа годится? Перевод: http://sergeyteplyakov.blogspot.com/2012/05/c-11-faq.html
До кучи: http://en.cppreference.com/w/
http://en.wikipedia.org/wiki/C%2B%2B11
И я бы еще посоветовал видеоматериалы (на английском конечно же).
PS. Ссылка на перевод FAQ находится в самом FAQ Страуструпа.
-
Собственно говоря, с С++ я имею дело по работе только в версии C++Builder 6 (2002г), а это старый глючный компилятор с борландовским диалектом С++.
А вот скачал указанный в этой теме вариант, думаю -- побаловаться что ли на досуге...
Какие преимущества у orwelldevcp по сравнению с тем же Visual C++ 2012, например? Ну, кроме гораздо меньшего размера установщика?
мм.. для меня (как преподавателя) - МОРЕ(преимуществ). Устойчивая работа. Разумный баланс между наворотами и надежностью. Минимальное время освоения. Возможность БЫСТРО работать с флешки (если поджать ехе ups ом то вообще летает). Легкость замены версии компилятора. Простая структура проектов....
-
http://ru.wikipedia.org/wiki/C%2B%2B11
о_О
А может ну его нахрен, всю эту жуть под названием "современный С++" ;D
-
http://ru.wikipedia.org/wiki/C%2B%2B11
о_О
А может ну его нахрен, всю эту жуть под названием "современный С++" ;D
Гм. А какие проблемы? Слишком много всего? Дык это считай новый язык.
-
http://ru.wikipedia.org/wiki/C%2B%2B11
о_О
А может ну его нахрен, всю эту жуть под названием "современный С++" ;D
Гм. А какие проблемы? Слишком много всего? Дык это считай новый язык.
Именно. Возникает вопрос -- а нафига он нужен? )))
-
http://ru.wikipedia.org/wiki/C%2B%2B11
о_О
А может ну его нахрен, всю эту жуть под названием "современный С++" ;D
Гм. А какие проблемы? Слишком много всего? Дык это считай новый язык.
Именно. Возникает вопрос -- а нафига он нужен? )))
Не понимаю проблемы. Ровно для того же для чего и С++98. Только теперь stl можно реально полноценно пользоваться. Язык стал ещё выше уровнем без отдаления от железа. Накладных расходов не стало больше. Язык стал еще удобней. При этом обратная совместимость имеется (убрали ровно одну фичу из языка, которая и так нигде не была реализована).
-
Дык практически остался только один С++, который работает без виртуальной машины на голом процессоре... :)
-
Дык практически остался только один С++, который работает без виртуальной машины на голом процессоре... :)
Ну, еще Ада. Delphi/FreePascal. Modula-2, Modula-3. Еще ObjC. D еще бывает. Не говоря о всяких там Haskell'ях. Впрочем, если затребовать не просто отсуствие виртуальной машины, но и отсутствие GC, то остается только Ada, Delphi/FreePascal и ObjC + Aлександреска грозился для D что-то классное в этом плане сделать, чтобы стандартная либа GC не требовала.
Если же затребовать чтобы оно как-то шевелилось вовсе без рантайма, то это пожалуй только C, C++, Modula-2. Возможно Ада без рантайма сможет, но не уверен.
Вообще, С++ хорош тем, что он есть везде (ну или почти везде). Я пытался для нового свободного проекта (о котором я сейчас усиленно думаю) взять за основной язык Аду, но увы. Не выйдет. Ибо мне хочется язык ядра иметь общий как для серверов и десктопов, так и iOS/Android. А для iOS Ады нет (в списке рассылки представитель AdaCore меня отшил - мобильные платформы им не интересны, поддержки их не будет).
-
Еще такая есть штука: http://www.codelite.org/
-
Язык стал еще удобней. При этом обратная совместимость имеется (убрали ровно одну фичу из языка, которая и так нигде не была реализована).
Только при этом он становится всё больше и больше...
-
Куча костылей, скрепленных скотчем ;D
-
А для iOS Ады нет (в списке рассылки представитель AdaCore меня отшил - мобильные платформы им не интересны, поддержки их не будет).
В смысле неинтересны??? Им туда надо заслать кого-нибудь... с айпадом :)
-
Язык стал еще удобней. При этом обратная совместимость имеется (убрали ровно одну фичу из языка, которая и так нигде не была реализована).
Только при этом он становится всё больше и больше...
С++ становится больше с существенно меньшей скоростью чем Ада или C#.
-
А для iOS Ады нет (в списке рассылки представитель AdaCore меня отшил - мобильные платформы им не интересны, поддержки их не будет).
В смысле неинтересны??? Им туда надо заслать кого-нибудь... с айпадом :)
В прямом смысле. 1000$ за лицензию на компилятор (одно рабочее место) - слишком дешево для них.
За прочих не скажу а за AdaCore скажу что да,
мобильный рынок нам неинтересен, он совершенно не
укладывается в нашу философию. На этом рынке не нужно
и не ценится высоконадежное ПО, а мы
специализируемся именно на таком. И "рыночная цена в
1000$"(с) не является на наш взгляд адекватной оплатой
нашего труда, соответственно пока "рыночной"
считается именно такая - нам нечего на таком рынке делать.
> Дык, большенство разработчиков это как раз "контора"
из 1-2 человек. За то их таких МНОГО. Поэтому Xamarin вполне
себе живет и здравствует. С каждого из сотни тысяч
разработчиков по 1000$ в сумме дает неплохую прибыль
Повторюсь (последний раз, ибо эта тема основательно
утомила) - дойка "сотен тысяч разработчиков" с нашей
моделью не совместима, мы каждого разработчика
знаем по имени и желаем сохранить эту культуру в
целости и сохранности. Наши цены за одно рабочее
место и предоставляемые при этом услуги близки
ксамариновскому уровню "enterprise" и на
соответствующую аудиторию ориентированы.
Желающие работать в других сегментах - могут этим
заняться в любой момент, флаг в руки.
Если кратко - если вы мельче ботинга и не готовы за минимальную лицензию отдать 15000$, то вы для AdaCore не интересны и не существуете. Поэтому Ады на десктопах (для коммерческого софта, аля тот же Sublime) и тем более мобильных платформ не будет никогда.
-
Еще такая есть штука: http://www.codelite.org/
разные "весовые" категории.. , современная компонентная база.., такое ощущение что калькировали с Эклипса(так же "накидано море дерьма в окно программы, с которым нужно разбираться")... однако для образовательных нужд devcpp подходит лучше(вот если бы его перевести на компонентную базу codelight - было бы вообще замечательно)..
-
Если кратко - если вы мельче ботинга и не готовы за минимальную лицензию отдать 15000$, то вы для AdaCore не интересны и не существуете. Поэтому Ады на десктопах (для коммерческого софта, аля тот же Sublime) и тем более мобильных платформ не будет никогда.
Да, это проблема Ады...
-
Если кратко - если вы мельче ботинга и не готовы за минимальную лицензию отдать 15000$, то вы для AdaCore не интересны и не существуете. Поэтому Ады на десктопах (для коммерческого софта, аля тот же Sublime) и тем более мобильных платформ не будет никогда.
Да, это проблема Ады...
Ага. А также C#, Java, Delphi, js, Basic, Fortran'a, COBOL'a, да даже Си - это проблема ЛЮБОГО промышленного языка которые ещё не окаменел (то есть меняется и активно используется).
Единожды привнесенную в язык фичу обычно оттуда уже убрать нельзя (ибо нужна совместимость с миллионами строк промышленного кода), можно только уточнить и аккурано расширять язык. Таким образом объем промышленного языка может меняться только через рост, а поскольку индустрия не устоялась и развивается, промышленный язык не может не меняться, следовательно он будет расти.
-
Еще такая есть штука: http://www.codelite.org/
разные "весовые" категории.. , современная компонентная база.., такое ощущение что калькировали с Эклипса(так же "накидано море дерьма в окно программы, с которым нужно разбираться")... однако для образовательных нужд devcpp подходит лучше(вот если бы его перевести на компонентную базу codelight - было бы вообще замечательно)..
Мне devcpp больше понравился. Люблю простоту.
-
Мне devcpp больше понравился. Люблю простоту.
тут дело не в простоте. а в максимальном соответствии( текущим целям, задачам, имеющимся навыкам)... но компонентная база devcpp конечно отстает... и нет шанса что поднимется (для этого форка) ... а жаль...
-
Мне devcpp больше понравился. Люблю простоту.
тут дело не в простоте. а в максимальном соответствии( текущим целям, задачам, имеющимся навыкам)... но компонентная база devcpp конечно отстает... и нет шанса что поднимется (для этого форка) ... а жаль...
Что подразумевается под компонентной базой?
-
Мне devcpp больше понравился. Люблю простоту.
тут дело не в простоте. а в максимальном соответствии( текущим целям, задачам, имеющимся навыкам)... но компонентная база devcpp конечно отстает... и нет шанса что поднимется (для этого форка) ... а жаль...
Что подразумевается под компонентной базой?
программные компоненты из которых собрана среда.
-
Если кратко - если вы мельче ботинга и не готовы за минимальную лицензию отдать 15000$, то вы для AdaCore не интересны и не существуете. Поэтому Ады на десктопах (для коммерческого софта, аля тот же Sublime) и тем более мобильных платформ не будет никогда.
Да, это проблема Ады...
Ага. А также C#, Java, Delphi, js, Basic, Fortran'a, COBOL'a, да даже Си - это проблема ЛЮБОГО промышленного языка которые ещё не окаменел (то есть меняется и активно используется).
Единожды привнесенную в язык фичу обычно оттуда уже убрать нельзя (ибо нужна совместимость с миллионами строк промышленного кода), можно только уточнить и аккурано расширять язык. Таким образом объем промышленного языка может меняться только через рост, а поскольку индустрия не устоялась и развивается, промышленный язык не может не меняться, следовательно он будет расти.
О чём это ты? о_О Я-то о том, что разработчик единственного компилятора Ады заявляет о том, что для него клиентами являются лишь толстосумы с повышенными требованиями к качеству ПО, а все остальные идут лесом... При чём здесь демократичный сишарп или трудяга си?
-
О чём это ты? о_О Я-то о том, что разработчик единственного компилятора Ады заявляет о том, что для него клиентами являются лишь толстосумы с повышенными требованиями к качеству ПО, а все остальные идут лесом... При чём здесь демократичный сишарп или трудяга си?
А, я когда отвечал, думал про другой вопрос (о размерах языков). Сори :-)
Шарп не шибко демократичный. Собственно там все на стандарты наплевали (стандартизирован только C# 2.0). Ну и про радостью от использования mono Сергей Губанов регулярно тут делится :-)
Да, справедливости ради - AdaCore - не единственный разработчик компиляторов Ады, а GNAT не единственный развивающийся адский компилятор. Есть и другие. Только они отстают примерно на одну ревизию языка (AdaCore&GNAT сейчас релизуют стандарт Аду 2012, а те реализуют Аду 2005), и они ещё более ориентированы на промышленность (то есть им ещё более пофиг на небольшие программерские конторы, где всего человек по 20 программистов).
-
программные компоненты из которых собрана среда.
Пощупал - с автокомплитом (и вообще пониманием С++-кода) у среды беда-беда. Где-то на уровне MSVS 6.0 (1998 год) похоже. Зато столь же шустрое. Ну и компилятор там используется правильный, да (который С++ понимает лучше чем компилятор 2012 студии).
-
А есть ли какой простенький учебник по современному С++?
Простенький по С++? Это просто оксюморон какой-то :)
-
А есть ли какой простенький учебник по современному С++?
Простенький по С++? Это просто оксюморон какой-то :)
да нет, все относительно..
-
программные компоненты из которых собрана среда.
Пощупал - с автокомплитом (и вообще пониманием С++-кода) у среды беда-беда. Где-то на уровне MSVS 6.0 (1998 год) похоже. Зато столь же шустрое. Ну и компилятор там используется правильный, да (который С++ понимает лучше чем компилятор 2012 студии).
насчет С++ вопрос не финтифлировал .. но в случае СИ проблемы есть во обеих средах.. дело в том, что БОЛЬШУЮ часть проблем в Лайте можно решить конфигурированием компонент (это одни затраты и уровень квалификации), а в случае DevCpp без коррекции самих компонент не обойтись, не говоря уж о затратах по приведению к "современному виду".
-
А есть ли какой простенький учебник по современному С++?
1. Без особой привязки к стандарту - для программеров, которые с других языков переходят на С++ написал Стенли Липпман.
На озоне: http://www.ozon.ru/context/detail/id/1304347/
2. Современный учебник, в котором уже есть элементы С+11 - Прата. Но это для совсем начинающих.
На озоне: http://www.ozon.ru/context/detail/id/7979735/
3. мою книжку по ОО на С++ - для студентов написана... :)
На озоне: http://www.ozon.ru/context/detail/id/3515464/
-
Кто-нить пробовал CodeLite (http://codelite.org/)? Говорят, неплохой конкурент для Code::Blocks (http://www.codeblocks.org/)
-
Кто-нить пробовал CodeLite (http://codelite.org/)? Говорят, неплохой конкурент для Code::Blocks (http://www.codeblocks.org/)
Пробовалоь практически всё из современных свободных сред.
Практически ничего стабильного или удовлетворительно работающего нет.
Осталось две вещи: eclipse & QtCreator.
Остальное - поделки наколеночные, по сути.
-
Кто-нить пробовал CodeLite (http://codelite.org/)? Говорят, неплохой конкурент для Code::Blocks (http://www.codeblocks.org/)
Пробовалоь практически всё из современных свободных сред.
Практически ничего стабильного или удовлетворительно работающего нет.
Осталось две вещи: eclipse & QtCreator.
Остальное - поделки наколеночные, по сути.
А как насчет netbeans?
-
Кто-нить пробовал CodeLite (http://codelite.org/)? Говорят, неплохой конкурент для Code::Blocks (http://www.codeblocks.org/)
Пробовалоь практически всё из современных свободных сред.
Практически ничего стабильного или удовлетворительно работающего нет.
Осталось две вещи: eclipse & QtCreator.
Остальное - поделки наколеночные, по сути.
Какой-то этот QtCreator неполноценный -- путь к mingw ему укажи, CMake дай... И это только начало создания тестового проекта, жуть...
-
Совершенно пропустил http://www.christian-heffner.de (http://www.christian-heffner.de) - очень аккуратно сработанная IDE без наворотов, практически полностью поддерживается c11, работает под win8 - 8.1(есть 64 разрядная версия), очень грамотно составленная справка, сделано одним перцем - короче, Пелль весьма крут.
-
Добавлю.
Кто работал с devCpp - есть продвинутая среда wxDevCpp: http://wxdsgn.sourceforge.net/
Она с библиотекой WxWidget работает.
Есть еще Ultimate++ - последнее время попадаются хвалебные отзывы. И на сайте начали на русском доки писать.
-
Добавлю.
Кто работал с devCpp - есть продвинутая среда wxDevCpp: http://wxdsgn.sourceforge.net/
Она с библиотекой WxWidget работает.
Есть еще Ultimate++ - последнее время попадаются хвалебные отзывы. И на сайте начали на русском доки писать.
Они работают только под Линухом.
Виндовый вариант практически не работоспособен. Особенно - в части отладки.
Идея библиотеки - ОЧЕНЬ хорошая, но, пока что, большинтсво народу в гуях в винде сидит...
-
Нашел еще пару IDE для обучения
1. Falcon http://falconcpp.sourceforge.net (http://falconcpp.sourceforge.net) - практически идеальна для обучения (с моей точки зрения) - простота, выверенная эргономика, качественная реализация.. одна беда - не доделана. В класс бы я ее поостерегся поставить , но для личного пользования вполне подойдет, доп. минус - не ясно, что с поддержкой (впрочем, исходники есть).. сделана на D7
2. Zinijal - http://sourceforge.net/projects/zinjai/ (http://sourceforge.net/projects/zinjai/) специально (по словам автора) создана для нужд обучения, довольно наворочена, вроде все ОК с поддержкой, но вот с эргономикой.. не все так гладко.
-
Сейчас под виндой попробовал свежий eclipse luna for C/C++ (его только вчера выпустили) для C++ линуксового проекта с make файлом. На первый взгляд для редактирования текстов на языке C++ он вроде гораздо больше подходит чем редактор MS VS 2012 (а чем-то другим я давно не пользовался, так что сравнить с чем-то другим не могу). По крайней мере иерархию классов, где какая процедура вызывается, где какой идентификатор определён - это он мне всё чётко сейчас показал. В то же время при работе с текстами на C++ в MS VS 2012 среда часто путается и не может правильно отрезолвить где объявлены/используются те или иные идентификаторы. Спрашиваешь у неё где определён этот идентификатор, а она выдаёт список из 100500 мест где эта последовательность символов встречается, а дальше хоть застрелись.
-
Сейчас под виндой попробовал свежий eclipse luna for C/C++ (его только вчера выпустили) для C++ линуксового проекта с make файлом. На первый взгляд для редактирования текстов на языке C++ он вроде гораздо больше подходит чем редактор MS VS 2012 (а чем-то другим я давно не пользовался, так что сравнить с чем-то другим не могу). По крайней мере иерархию классов, где какая процедура вызывается, где какой идентификатор определён - это он мне всё чётко сейчас показал. В то же время при работе с текстами на C++ в MS VS 2012 среда часто путается и не может правильно отрезолвить где объявлены/используются те или иные идентификаторы. Спрашиваешь у неё где определён этот идентификатор, а она выдаёт список из 100500 мест где эта последовательность символов встречается, а дальше хоть застрелись.
Eclipse CDT давно и уверенно удобней чем MSVS (начиная эдак с года 2010). В плане работы с исходниками. Равно как и Eclipse JDT лучше для java чем MSVS для C#.
Но MSVS есть фишка - там НАМНОГО лучше интегрирован отладчик. Просто таки на порядки. Ну и с компилятором оно взаимодействует получше.
-
Только чего-то этот eclipse ругается, что ему не известны стандартные типы: size_t, std::string, vector, set... (type could not be resolved)
-
Только чего-то этот eclipse ругается, что ему не известны стандартные типы: size_t, std::string, vector, set... (type could not be resolved)
Это же не стандартные типы, а типы из стандартной либы. Стандартная либа и типы из неё работает на тех же правах что и типы из любой другой либы. Следовательно в eclipse-проекте на настроены пути к стандартным либам (либо настроены не так).
-
Следовательно в eclipse-проекте на настроены пути к стандартным либам (либо настроены не так).
Точно.
---
Ума eclipse все же не хватает. У некоторого класса объявлено поле from. Прошу у eclipse найти все места где оно используется. Ссылок выдаётся подозрительно мало. Ищу руками нахожу, в том числе, такой код:
_context->mail_object->get_info()->from = трам-пам-пам;
Функция get_info() подчёркнута красной волнистой линией: Method 'get_info' could not be resolved. Опять ручками ищу где объявлен этот чёртов метод get_info(). В некотором шаблонном классе предке нахожу:
Tinfo *get_info() { return (Tinfo*)this; }
Здесь Tinfo - шаблонный класс-параметр и базовый класс от него отнаследован. Получается, что там где дело касается шаблонов eclipse ресолвить идентификаторы не умеет. Ааабидно, даа...
-
Следовательно в eclipse-проекте на настроены пути к стандартным либам (либо настроены не так).
Точно.
---
Ума eclipse все же не хватает. У некоторого класса объявлено поле from. Прошу у eclipse найти все места где оно используется. Ссылок выдаётся подозрительно мало. Ищу руками нахожу, в том числе, такой код:
_context->mail_object->get_info()->from = трам-пам-пам;
Функция get_info() подчёркнута красной волнистой линией: Method 'get_info' could not be resolved. Опять ручками ищу где объявлен этот чёртов метод get_info(). В некотором шаблонном классе предке нахожу:
Tinfo *get_info() { return (Tinfo*)this; }
Здесь Tinfo - шаблонный класс-параметр и базовый класс от него отнаследован. Получается, что там где дело касается шаблонов eclipse ресолвить идентификаторы не умеет. Ааабидно, даа...
А это и не всегда возможно если привязывать поля к типу. Ну, то есть методы и поля получаются привязаны не к конкретным классам, а к конкретным переменным, у которых уже сложился полный тип.
-
не к конкретным классам, а к конкретным переменным
Думаю, правильнее говорить про объекты, а не про классы. Объекты - сущности этапа исполнения, и на этапе компиляции у компилятора в общем случае недостаточно информации для правильной подстановки.
-
Да нет, ответить на вопрос где используется переменная - это время компиляции. Только полноценный ресолвинг требует подстановки шаблонов, а это в большой программе займёт полчаса (на 16 ядерном компе :) ), поэтому в интеллисенсе, который должен быть быстрым, не делается вообще.
-
Да нет, ответить на вопрос где используется переменная - это время компиляции. Только полноценный ресолвинг требует подстановки шаблонов, а это в большой программе займёт полчаса (на 16 ядерном компе :) ), поэтому в интеллисенсе, который должен быть быстрым, не делается вообще.
Оно займет полчаса только первый раз. Потом ведь можно инкрементально обновлять состояние.
-
не к конкретным классам, а к конкретным переменным
Думаю, правильнее говорить про объекты, а не про классы. Объекты - сущности этапа исполнения, и на этапе компиляции у компилятора в общем случае недостаточно информации для правильной подстановки.
С чего бы?
-
Да нет, ответить на вопрос где используется переменная - это время компиляции. Только полноценный ресолвинг требует подстановки шаблонов, а это в большой программе займёт полчаса (на 16 ядерном компе :) ), поэтому в интеллисенсе, который должен быть быстрым, не делается вообще.
Так я и не говорил про переменные. Мне просто показалось, что речь идёт про полиморфизм.
-
Оно займет полчаса только первый раз. Потом ведь можно инкрементально обновлять состояние.
Ну, может быть. Только написать на столько умную программу интеллисенса наверное будет не под силу простым смертным.
-
Тут ранее я упомянул Pelles C IDE - как возможный кандидат на доступную полнофункциональную IDE для обучения.... напомню ее базовые возможности;
1. Быстродействие
2. Скромные требования к ресурсам
3.Исключительная эргономичность и простота
4. Полная поддержка С99, С11
5. Поддержка OpenMP 3.1
6. Полноценное программирование под win api
7. Возможна работа реализациями MPI (проверял на Deino MPI)
8. ОЧЕНЬ толковая встроенная справка по среде и языку.
Выдалось время.. составил сборку для тех, кто вынужден обучать языку Си (и /или программированию под MS Win, освоению технологий параллельного программирования OMP, MPI) не вполне соответствующий контингент в очень (технически) сложных условиях.
Изменения:
1. Переведен интерфейс
2. Переведены сообщения компилятора\ компоновщика
3. Добавлена переносимость (запуск с через PellesC.cmd)
4. Переключение между отладочной и релизной версиями (кнопки на панели обозревателя проекта)
5. Задачник PT4 из поставки PABC (только задачи, через пункт меню в Справке)
6. Переход на олимпиадный сайт http://ipc.susu.ac.ru (через ссылку на начальной странице)
7. Вызов Полного справочника по Си, Г Шилдта 4- издание (через ссылку на начальной странице) - много неточностей, но пользоваться достаточно удобно .
То есть.... по сути дела большую часть того, что я хотел бы видеть в IDE для обучения на основе ОБЕРОНА ;)
Возможно кому -то пригодится..
32 - разрядная версия https://dl.dropboxusercontent.com/u/22395934/PellesC.rar (https://dl.dropboxusercontent.com/u/22395934/PellesC.rar)
64 - разрядная версия https://dl.dropboxusercontent.com/u/22395934/PellesC64.rar (https://dl.dropboxusercontent.com/u/22395934/PellesC64.rar)
ну и естественно буду благодарен за замечания, пожелания...