Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Программирование на С++ в Geany  (Прочитано 26003 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн aya

  • Участник
  • *
  • Сообщений: 196
    • Просмотр профиля
Re: Программирование на С++ в Geany
« Ответ #45 : 07 Мая 2010, 19:26:21 »
Ну как бы ее там и нету. Непонятно о чем говорил Yurror.

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: Программирование на С++ в Geany
« Ответ #46 : 07 Мая 2010, 23:18:57 »
А с 70х-80х у этого гения огромный багаж хлама: устаревшие знания, приёмы и выдуманные проблемы которые были в 70х-80х. В современном мире они давно решены, а он так и остался в своей молодости. До сих пор языки изобретает. В любом университете на соответствующей специальносте есть курс по построению трансляторов (или что-то в этом духе) пусть этот гений вчитается чтобы с препроцессором не маяться.
Опыта разаработки у этого гениального препода думаю кот наплакал иначе бы он не нёс такую ахинею про препроцессор и выделывание других языков.
Обучают в нормальных местах и сейчас нормально. А то что было в 70х-80х не стоит возводить в ранг абсолютного знания и истины в последней инстанции...
Очень фанатичное заявление. Не следует тупо следовать канонам где непоподя. Они, несомненно, очень хорошая рекомендация и прежде чем их нарушать подумай дважды, а потом ещё трижды, но всё же бывают ситуащии конда нужно и по другому поступить.

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

А про изобретение языка поверх C++ используя макросы, рекомендую посмотреть на Qt. Они занимаются именно этим. По сути Qt это не совсем C++ это некоторый расширенный диалект поверх него, для реализации которого активно применяется кодогенерация и макросы. При этом это очень популярный тулкит для разработки.

Так что ...
Меньше верь всяким авторитетам, думай головой и будет тебе счастье. Иначе сильно на фанатика становишься похож =)

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Программирование на С++ в Geany
« Ответ #47 : 08 Мая 2010, 07:43:07 »
aya, 4life ой да ну... идите зубрите матчасть.
4life, я тебе могу привести пример который с твоим дефайном не соберется или соберется но работать будет не так как тебе хотелось. и что? надо чтобы ты сам допетрил что к чему иначе завтра же забудешь а послезавтра впишнешь эту строчку в ПО какой-нибудь ракеты... а потом NASA назывют Need Another Seven Astronauts

VestniK, я прекрасно знаю о чем говорю. прекрасно понимаю о чем ты мне сказал.
goto я обсуждать не буду. препроцессор штука могучая, когда его используют грамотно.
А 4life верит в бредни какого-то странного человека и не в состоянии найти ошибку в программе.
Именно из за таких вот ребят более опытные рекомендуют им избегать использования препроцессора где ни поподя.

Кстати в Qt там нихрена не препроцессор. Там отдельная пристройка к языку и разворачиваются эти конструкции moc-процессором а не встроенным препроцессором. надеюсь я не открыл америку?

И все же найдете уже наконец ошибку в том злополучном дефайне. дам подсказку что надо погуглить.

Оффлайн 4life

  • Участник
  • *
  • Сообщений: 118
  • I am Linux
    • Просмотр профиля
Re: Программирование на С++ в Geany
« Ответ #48 : 08 Мая 2010, 09:31:57 »
4life, я тебе могу привести пример который с твоим дефайном не соберется или соберется но работать будет не так как тебе хотелось.
Ну дык, если руки из одного места, то кто ж доктор?
Открой стандартныq include-файлы для любого компилятора в любой системе и и посмотри из чего состоит твой любимый C++!
А 4life верит в бредни какого-то странного человека и не в состоянии найти ошибку в программе.
Именно из за таких вот ребят более опытные рекомендуют им избегать использования препроцессора где ни поподя.
В бредни я не верю, я верю в то, что работает!
Посмотри фильм RevolutionOS там есть момент, когда один из ключевых участников OpenSource рассказывает(деталей не помню), что он пользовался языком N, в дальнейшем он его настроил под себя, т.е. создал N++! Когда он пришел устраиваться на работу, он спросил работодателя, на чем они пишут? На что работодатель ответил, что пишут они на более развитой версии языка N, как вскоре выяснилось использовали они его же разработки!
Твоя б реакция наверное была
Цитировать
идите зубрите матчасть.
Цитировать
И все же найдете уже наконец ошибку в том злополучном дефайне. дам подсказку что надо погуглить.
Мне аж дух захватывает в предвкушении развязки этой нелегкой задачи!

Пользователь решил продолжить мысль [time]Sat May  8 09:01:37 2010[/time]:
Наверное это хотел увидеть Yurror?
#define RANDOM(MAX, MIN) rand()%((MAX)-(MIN)+1)+(MIN)
Поздравляю, Тина Канделаки ждет тебя, ты самый умный! ;D
« Последнее редактирование: 08 Мая 2010, 11:08:28 от 4life »

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: Программирование на С++ в Geany
« Ответ #49 : 08 Мая 2010, 12:05:22 »
Цитировать
Кстати в Qt там нихрена не препроцессор. Там отдельная пристройка к языку и разворачиваются эти конструкции moc-процессором а не встроенным препроцессором. надеюсь я не открыл америку?
Товарищь Yurror поменьше агрессии и нападок и более внимательно читаем то что другие пишут:
Цитировать
По сути Qt это не совсем C++ это некоторый расширенный диалект поверх него, для реализации которого активно применяется кодогенерация и макросы.
Где слово "кодогенерация" подразумевает moc, uic, rcc и кажется у них что то для DBus модуля ещё плюсовый код генерит, но с последним мне пока не приходилось работать.

Я знаю как устроенно Qt и отлично знаю, что там где они могут обойтись без кодогенератора, они используют макросы. Причём это далеко не только маленькие обёртки упрощающие вызов какой нибудь шаблонной функции, это нередко то, что ты будешь использовать как ни крути при работе с Qt.

Не знаю, может я тут вам Америку открываю, но Q_OBJECT это тоже макрос, и это не пустышка как emit, а хрень добавляющая несколько вещей, имплементация которых и генерируется moc'ом

Ключевые макросы, которые используются в повседневной работе с Qt: forever, foreach вообще маскируются под нормальные конструкции языка.

Оффлайн Деd МаZай

  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Программирование на С++ в Geany
« Ответ #50 : 08 Мая 2010, 13:40:16 »
Help!

#include<iostream>
int main ()
{
int a,g,b;
cout<<"Vvedite a,b";
cin>>\na>>\nb;
g=a+b;
cout<<g;
return 0;
}

что неправильно? мне консоль выдает:

z@z-desktop:~$ /home/z/zx
/home/z/zx: line 2: ошибка синтаксиса около неожиданной лексемы `('
/home/z/zx: line 2: `int main ()'

и как создавать исполняемые файлы?

Оффлайн Yeso

  • Новичок
  • *
  • Сообщений: 35
    • Просмотр профиля
Re: Программирование на С++ в Geany
« Ответ #51 : 08 Мая 2010, 13:57:38 »
Ты не скомпилировал программу...
Прежде всего, файлы программ на C++ принято именовать с расширением ".cpp". Поэтому переименуй:
$ mv zx zx.cpp

Для того, чтобы скомпилировать, выполни команду (исполняемый файл как раз так и создаётся):
$ g++ -Wall zx.cpp -o zx

В твоём случае программа не скомпилируется.
На экран будут выведены все ошибки. Когда исправишь их (лучше сделай это сам), перекомпилируй заново и запускай:
$ ./zx


PS исправил gcc на g++
« Последнее редактирование: 08 Мая 2010, 14:43:25 от Yeso »

Оффлайн Упс

  • Старожил
  • *
  • Сообщений: 3231
    • Просмотр профиля
Re: Программирование на С++ в Geany
« Ответ #52 : 08 Мая 2010, 14:18:02 »
g++ -Wall zx.cpp -o zx иначе никогда не соберёт.
xUbuntu 12.04

Оффлайн VestniK

  • Активист
  • *
  • Сообщений: 594
    • Просмотр профиля
Re: Программирование на С++ в Geany
« Ответ #53 : 08 Мая 2010, 14:29:41 »
Ещё бы using namespace std после include, но перед main не помешал бы.

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Программирование на С++ в Geany
« Ответ #54 : 08 Мая 2010, 16:16:52 »
VestniK, тебя никто не критиковал.

Открой стандартныq include-файлы для любого компилятора в любой системе и и посмотри из чего состоит твой любимый C++!
Ну открывал =) ты не поверишь но я в курсе. А ты видил как оно написано?

Наверное это хотел увидеть Yurror?
#define RANDOM(MAX, MIN) rand()%((MAX)-(MIN)+1)+(MIN)
Поздравляю, Тина Канделаки ждет тебя, ты самый умный! ;D
4life, ооо! ну наконец то =) а че упрямился? раз такой гений чебы сразу не написать?
Гугл помог да... ;) все горазды когда носом то ткнули =)
только еще одни скобочки забыл  :2funny:

Linuxxx_user объясни чего ты хотел добиться от компилятора последовательностью символов \n?
Перехода на новую строку? При вводе данных? Из плюсовых stream'ов? О_о
Мы становимся свидетелями нового шедевра!
Но этому хоть простительно.

P.S. Еще раз прошу прикрыть ветку, а то мы ушли далеко от темы

Оффлайн Деd МаZай

  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Программирование на С++ в Geany
« Ответ #55 : 08 Мая 2010, 17:50:05 »

Linuxxx_user объясни чего ты хотел добиться от компилятора последовательностью символов \n?
Перехода на новую строку? При вводе данных?

Ну да. Мне так удобнее. А что?

Из плюсовых stream'ов? О_о
Что это?

Оффлайн Упс

  • Старожил
  • *
  • Сообщений: 3231
    • Просмотр профиля
Re: Программирование на С++ в Geany
« Ответ #56 : 08 Мая 2010, 18:38:12 »
Цитировать
Ещё бы using namespace std после include, но перед main не помешал бы.
Подсказываеш, это он сам должен был найти. :)
Цитировать
Ну да. Мне так удобнее. А что?
Вся проблема в том как обьяснить компилятору что тебе так удобней. :)
xUbuntu 12.04

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: Программирование на С++ в Geany
« Ответ #57 : 09 Мая 2010, 09:58:44 »
Ну да. Мне так удобнее. А что?
Вообще-то надо следовать правилам языка и библиотеки которой пользуешься.
Мне вот например удобнее написать: "хочу чтобы проект завтра был сделан"! Но компилятор не понимает! =( Кто знает почему он меня не понимает и не компилирует то что нужно заказчику? Я же его по русски прошу, мне так удобнее... А то все палки, черточки, операторы вывих мозга можно заработать.
Чесное слово, цирк...

Оффлайн Деd МаZай

  • Новичок
  • *
  • Сообщений: 23
    • Просмотр профиля
Re: Программирование на С++ в Geany
« Ответ #58 : 09 Мая 2010, 22:57:08 »
это он сам должен был найти. :)
А как найти-то? Я в Windowsком борланде 04 г/в тока и писал...
Вообще-то надо следовать правилам языка и библиотеки которой пользуешься.
А как нужно?

Оффлайн Упс

  • Старожил
  • *
  • Сообщений: 3231
    • Просмотр профиля
Re: Программирование на С++ в Geany
« Ответ #59 : 09 Мая 2010, 23:31:50 »
Цитировать
А как найти-то? Я в Windowsком борланде 04 г/в тока и писал...
Как минимум в этой теме на 1 и 3 страницах, а уж в этом разделе .... :)
А если серьёзно то книжку по с++ свежую почитать.
Цитировать
А как нужно?
Как-то так#include <iostream>
int main(int argc, char** argv)
{

int a,g,b;
std::cout<<"Vvedite a,b";
std::cin>>a>>b;
g=a+b;
std::cout<<g;

return 0;
}
или так
#include <iostream>
using namespace std;
int main(int argc, char** argv)
{

int a,g,b;
cout<<"Vvedite a,b";
cin>>a>>b;
g=a+b;
cout<<g;

return 0;
}
А "\n" - это из другой оперы, хотя printf   и с(си) мне нравятся больше, вот там это то что надо.
« Последнее редактирование: 09 Мая 2010, 23:34:28 от Упс »
xUbuntu 12.04

 

Страница сгенерирована за 0.021 секунд. Запросов: 21.