LINUX.ORG.RU

Разработка на C/C++ в Eclipse IDE

 ,


0

0

Перевод статьи про разработку приложений на C/C++ в Eclipse. Прежде всего, статья будет полезна людям начинающего уровня. В ней рассмотрен интерфейс IDE, базовые команды при разработке на C/C++, написание простого консольного приложения и написание небольшого GTK+-приложения.

>>> Перевод



Проверено: Shaman007 ()
Ответ на: комментарий от cap838383

>К тому что человека, который говорит "Я знаю C++" можно легко завалить каким нить вопросом на знание стандарта )

а человек не будет это говорить. он будет говорить "я умею применять C++", и вот тут уже тёмные углы стандарта для подначек не прокатят

jtootf ★★★★★
()
Ответ на: Re^4: Разработка на C/C++ в Eclipse IDE от gaa

>Ага, вот оно как... Сразу и подвисания на 5(!!!!) секунд признал и допиливание эклипса рашпилем до работтоспособного состояния.

Это допиливание не Eclipse, а JVM, дефолты которой фиговы. Впрочем, я на десктоп Java и не предлагаю в общем-то, а для сервера такой тюнинг — норма.

>Так вот: задержка более 1/20 секунды для гуя, имеющего претензии на право называться хорошим, не лезет ни в какие ворота.

Это зависит от операций. От компилции ты ж не ждешь такого отклика. А сохранение в Eclipse == компиляция (впрочем, это выключается).

WFrag ★★★★
()
Ответ на: комментарий от jtootf

> а человек не будет это говорить. он будет говорить "я умею применять C++", и вот тут уже тёмные углы стандарта для подначек не прокатят

Тое этим признается то что C++ никто не знает !

cap838383
()
Ответ на: комментарий от WFrag

А вообще, оно на фоне компиляет. Я хз откуда я эти 5 секунд взял — потыкался в наш проект на 130к строчек, не подвисает.

Вот на первом редактировании файла в этом проекте оно сильно тормозит, иной раз на 20 секунд подвисает. А всё из-за м^Hчудаков, которые писали плагин для Perforce. Который при первом редактировании файла идёт через VPN на сервер заказчика, чтобы отметить там checkin. Ну и сделано в лучшем стиле — с подвешиванием всего UI. Вот такие моменты — бесят, но ни к тормознутости Java, ни к тормознутости Eclipse они отношения не имеют, это разработчики плагина порезвились.

WFrag ★★★★
()
Ответ на: комментарий от Beria1937

>Например, кто-нибудь знает, где сейчас можно найти QuickC ?

На дискетах. 5" дюймовых ;)

Нужен ? ;)

Отличная была среда.

sS ★★★★★
()
Ответ на: комментарий от WFrag

Re^6: Разработка на C/C++ в Eclipse IDE

>>Так вот: задержка более 1/20 секунды для гуя, имеющего претензии на право называться хорошим, не лезет ни в какие ворота.

> Это зависит от операций. От компилции ты ж не ждешь такого отклика. А сохранение в Eclipse == компиляция (впрочем, это выключается).


Я жду быстрого отклика от _гуя_. Мне пофиг, как будет выполняться операция: мгновенно ли, в фоне ли будет запущена... Но меня бесит, когда я вижу в очередной раз подвисший ыклипс с белой полоской менюшки, после того как нажму ctrl-s.

gaa ★★
()
Ответ на: комментарий от WFrag

Re^6: Разработка на C/C++ в Eclipse IDE

> А вообще, оно на фоне компиляет. Я хз откуда я эти 5 секунд взял — потыкался в наш проект на 130к строчек, не подвисает.

А ты попробуй недельку эклипс не закрывать, и активно дебагать весь проектик. Вот тогда увидишь.

gaa ★★
()
Ответ на: комментарий от jtootf

>>К тому что человека, который говорит "Я знаю C++" можно легко завалить каким нить вопросом на знание стандарта )

>а человек не будет это говорить. он будет говорить "я умею применять C++", и вот тут уже тёмные углы стандарта для подначек не прокатят

Никто не знает, но все умеют применять :) Вот как так ?

cap838383
()
Ответ на: комментарий от cap838383

>20 секунд ? Что у тебя за старье на столе стот ? . 2-3 секунды не больше

2xOpteron 285 /16Gb - 6 сек

но правда удалённо по гигабитной сетке ;)

sS ★★★★★
()
Ответ на: комментарий от Sectoid

>>И как я вас проверю если у вас гугл компилятор и документация под рукой?

>Я не буду ими пользоваться.

Тоже мне, "Бином Ньютона", задачка проще не бывает и пользуйся чем хочешь. Только человек знающий стандарт сообразит сразу, остальные будут лоб морщить :)

int x = 1; x = x++;

Чему в результате равен x?

Ну да я знаю что это оффтоп мощный, пионэры понабегут знания показывать, но простите - не удержался :)

A-234 ★★★★★
()
Ответ на: комментарий от A-234

О, мой любимый вопрос!

*поправил пионерский галстук и яростно сверкнул красными глазами*

WFrag ★★★★
()
Ответ на: комментарий от A-234

>int x = 1; x = x++;

>Чему в результате равен x?

x=1. Постфиксный инкремент возвращает старое значение переменной по значению.

Sectoid ★★★★★
()
Ответ на: комментарий от Sectoid

>int x = 1; x = x++;

>Чему в результате равен x?

> x=1. Постфиксный инкремент возвращает старое значение переменной по значению.

А если компилятором Микрософта из VS 2008 скомпилить то x=2 :)

cap838383
()
Ответ на: комментарий от Sectoid

>x=1. Постфиксный инкремент возвращает старое значение переменной по значению.

Садись, два.

*бешенно вращает красными глазами*

WFrag ★★★★
()
Ответ на: комментарий от cap838383

>А если компилятором Микрософта из VS 2008 скомпилить то x=2 :)

Хм. Возможно я и ошибаюсь. Могу заглянуть в стандарт. Но скажите, Вам часто приходится использовать конструкции вида "x = x++;"?

Sectoid ★★★★★
()
Ответ на: комментарий от sS

А вот Netbeans 6 на том же самом действительно тормоз.

30 секунд на запуск а потом неторопливая отрисовка элементов гуя ....

sS ★★★★★
()
Ответ на: комментарий от A-234

>int x = 1; x = x++;

>Чему в результате равен x?

Я стандарт не знаю, но если равно 1, то фтопку такой йазык вместе с его стандартом.

anonymous
()
Ответ на: комментарий от Sectoid

Результат не определен. То что в текущей реализации возращается 1 это ничего не значит.

anonymous
()
Ответ на: комментарий от sS

> А вот Netbeans 6 на том же самом действительно тормоз.

Зато удобный редактор, качественные плагины...

anonymous
()
Ответ на: комментарий от cap838383

>Тое этим признается то что C++ никто не знает !

я знаю только один способ знать язык - написать для него компилятор

jtootf ★★★★★
()
Ответ на: комментарий от cap838383

>Однако... здравствуйте!

И чегось ? VSE тем же способом стартует 3сек (локально < 1 сек)

Так что на 3 локально в общем похоже

sS ★★★★★
()
Ответ на: комментарий от anonymous

>Зато удобный редактор, качественные плагины...

Для Java согласен, но уж о-о-очень тормозной.

sS ★★★★★
()
Ответ на: комментарий от jtootf

> я знаю только один способ знать язык - написать для него компилятор

Фронт-энд компилятора :) Но хороший фронт-энд.

tailgunner ★★★★★
()
Ответ на: комментарий от jtootf

>я знаю только один способ знать язык - написать для него компилятор

Хм, а есть хоть одна реализация C++ 100% по стандарту? А то может его никто и не знает полностью? :)

WFrag ★★★★
()
Ответ на: комментарий от WFrag

>>x=1. Постфиксный инкремент возвращает старое значение переменной по значению.

>Садись, два.

>*бешенно вращает красными глазами*

+1 профессор :)

Если переменная изменяется в одном выражении более одного раза, ее конечное значение не определено. Так что правильный ответ - а хрен его знает :) Пример был взят кстати из реального кода.

A-234 ★★★★★
()
Ответ на: комментарий от WFrag

>*бешенно вращает красными глазами*

я тоже так хочу :)

jtootf ★★★★★
()
Ответ на: комментарий от tailgunner

>Фронт-энд компилятора :) Но хороший фронт-энд

поправка принимается

jtootf ★★★★★
()
Ответ на: комментарий от WFrag

>Хм, а есть хоть одна реализация C++ 100% по стандарту?

сомневаюсь. лучшее что есть из фронт-эндов - EDG Cameau

>А то может его никто и не знает полностью?

для успешного применения полностью надо знать не язык, а все те выразительные мощности, которые он предоставляет. парадигмы, если хотите. общие механизмы использования

остальное в любом случае приходит с опытом, и применяется исключительно на практике

jtootf ★★★★★
()
Ответ на: комментарий от A-234

>Если переменная изменяется в одном выражении более одного раза...

...то автору выражения следует оторвать три и более конечностей

jtootf ★★★★★
()
Ответ на: комментарий от Sectoid

>int x = 1; x = x++;

>Чему в результате равен x?

>x=1. Постфиксный инкремент возвращает старое значение переменной по значению. Sectoid (*) (01.10.2008 15:29:57)

Подсказка:

int x = 1; x++;

и без ваших стандартов. Вопрос относится больше к чистому С, чем к этому порождению враждебного машинного интеллекта - С++.

anonymous
()
Ответ на: комментарий от legolegs

>>людям начинающего уровня.

> Вот за это люблю ЛОР. Здесь полно "людей начинающего уровня". Супер.

+1. Поправьте уже на "людей начинающего уровня" на "начинающих программистов". "Люди начинающего уровня" лежат и гукают в роддоме, и в полезности Eclipse для них на этом этапе я сильно сомневаюсь.

hobbit ★★★★★
()
Ответ на: комментарий от jtootf

> ...то автору выражения следует оторвать три и более конечностей

Вот вот . коллективная разработка на C++ сводится к вырыванию друг другу конечностей...

cap838383
()
Ответ на: комментарий от A-234

>Если переменная изменяется в одном выражении более одного раза, ее конечное значение не определено.

Да, я забыл в данном случае о точках следования, каюсь;)

Что самое интересное, если бы постфиксный ++ был перегружен, то была бы вторая точка следования, и x++ гарантированно бы вычислялось до присваивания.

Sectoid ★★★★★
()
Ответ на: комментарий от anonymous

>Осиль Netbeans наконец, даже его убогий редактор (по сравнению с имаксом, например) на порядок лучше еклипсовского .овна.

Пользуюсь NetBeans 6.1 и Eclipse 3.3.2/3.4.
В NetBeans редактор хуже, чем в Eclipse.
NetBeans, в отличие от Eclipse, ощутимо тормозит на Athlon X2 5400+/Pentium4 3ГГц и 2ГБ RAM.

iZEN ★★★★★
()
Ответ на: комментарий от anonymous

> А вот так. Если выдаешь нужные результаты, никого твои знания не волнуют.

Обычно сначала знания проверяют, а потом уж ждут результата.

cap838383
()
Ответ на: комментарий от cap838383

>коллективная разработка на C++ сводится к вырыванию друг другу конечностей...

коллективная разработка в любом случае к этому приводит - если среди разработчиков попадаются любители развлечься за чужой счёт. C++ же этому никоим образом не способствует, "программистов начального уровня" хватает в любой области, они элементарно экономически выгодны

jtootf ★★★★★
()
Ответ на: комментарий от cap838383

>Обычно сначала знания проверяют, а потом уж ждут результата

ну и кому на собеседовании нужна проверка знания тёмных углов стандарта?

jtootf ★★★★★
()
Ответ на: комментарий от anonymous

>Иногда человек приходит вместе со своими результатами. Всякое бывает

кстати да. контрибьютора в boost врядли будут спрашивать о разрешении имён для шаблонов и функций ;)

jtootf ★★★★★
()
Ответ на: комментарий от Sectoid

>Да, я забыл в данном случае о точках следования, каюсь;)

вот как CL на людей влияет - всё остальное уже кажется мелким и незначительным :)

jtootf ★★★★★
()
Ответ на: комментарий от jtootf

>вот как CL на людей влияет - всё остальное уже кажется мелким и незначительным :)

Да, в CL порядок вычислений четко задан, к хорошему быстро привыкаешь;). Да и вообще UB в CL, ИМХО, гораздо меньше.

Sectoid ★★★★★
()
Ответ на: комментарий от Sectoid

>Да, в CL порядок вычислений четко задан

вам бы ещё монады осилить - вообще праздник бы был ;)

>к хорошему быстро привыкаешь

это есть

>Да и вообще UB в CL, ИМХО, гораздо меньше

что такое UB? оно как-то связано с УГ?

jtootf ★★★★★
()
Ответ на: комментарий от jtootf

>вам бы ещё монады осилить - вообще праздник бы был ;)

Нам и так неплохо, мы не боимся side-effect'ов.

>что такое UB? оно как-то связано с УГ?

UB == Undefined Behaviour. Да, с УГ оно близко лежит;)

Sectoid ★★★★★
()
Ответ на: комментарий от Sectoid

>Нам и так неплохо, мы не боимся side-effect'ов

we are haskell hackers. we are not afraid of a little unsafePerformIO (c)

>UB == Undefined Behaviour

а ведь из-за чего? из-за сайд-эффектов, конечно же!..

jtootf ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.