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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: getch ()  (Прочитано 1125 раз)

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

Оффлайн egorchik007

  • Автор темы
  • Участник
  • *
  • Сообщений: 156
    • Просмотр профиля
getch ()
« : 01 Октябрь 2011, 23:21:47 »
Что ставил:
sudo apt-get install libncurses5-dev
Ибо нужна getch() как воздух.
Что я делаю не так: (сорцы ниже)
Заранее спасибо!

dojulia@dojulia:~$ g++ test.cpp -o /home/dojulia/keys
/tmp/ccl1CFR2.o: In function `main':
test.cpp:(.text+0xa): undefined reference to `stdscr'
test.cpp:(.text+0x12): undefined reference to `wgetch'
collect2: ld returned 1 exit status

Сорцы:
#include <stdlib.h>
#include <ncurses.h>
#include <iostream>
using namespace std;


int main () {
  int a;
  a=getch();
  cout<<a<<endl;
  main ();
  return 0;
}

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: getch ()
« Ответ #1 : 02 Октябрь 2011, 06:05:47 »
-lncurses
скорее нужен нормальный учебник как воздух

Axa-Ru

  • Гость
Re: getch ()
« Ответ #2 : 02 Октябрь 2011, 06:06:45 »
g++ tst.c -o keys -lncurses

Оффлайн egorchik007

  • Автор темы
  • Участник
  • *
  • Сообщений: 156
    • Просмотр профиля
Re: getch ()
« Ответ #3 : 02 Октябрь 2011, 11:04:16 »
g++ tst.c -o keys -lncurses
Спасибо!
Только в случае c++ test.cpp
Хотя это не критично, огромное спасибо!)
-lncurses
скорее нужен нормальный учебник как воздух
Спасибо!
Просто я думал что компилятор и в Африке компилятор, и в окнах.
Просто например stdlib, iostream линковать не надо было.

Axa-Ru

  • Гость
Re: getch ()
« Ответ #4 : 02 Октябрь 2011, 11:13:00 »
Вы там рекурсиввно main вызываете. Надеюсь, понимаете что получится.

Оффлайн egorchik007

  • Автор темы
  • Участник
  • *
  • Сообщений: 156
    • Просмотр профиля
Re: getch ()
« Ответ #5 : 02 Октябрь 2011, 15:18:47 »
Вы там рекурсиввно main вызываете. Надеюсь, понимаете что получится.
Понимаю. Мне просто нужно знать коды клавиш, а так - что бы много сразу.
А выход сделаю по кнопке q (113 номер).
Но спасибо за заботу)
А еще я не старый, чтобы на "вы" обращаться)

Axa-Ru

  • Гость
Re: getch ()
« Ответ #6 : 02 Октябрь 2011, 18:53:47 »
 :)
Segmentation fault

Оффлайн hippi90

  • Активист
  • *
  • Сообщений: 433
    • Просмотр профиля
Re: getch ()
« Ответ #7 : 03 Октябрь 2011, 01:41:47 »
OMFG, срочно читать K&R, затем Мэтью, Стоунс - Основы программирования в Linux. А то так и будете getch() искать и main() рекурсивно вызывать.

Оффлайн Yurror

  • Старожил
  • *
  • Сообщений: 1966
    • Просмотр профиля
Re: getch ()
« Ответ #8 : 03 Октябрь 2011, 05:46:31 »
egorchik007, компилятор как компилятор.
ликует по дефолту только стандартную библиотеку
остальные надо самому подключать. в MS VC кстати тоже
иногда лучше жевать чем говорить (c)

(Нажмите, чтобы показать/скрыть)

Оффлайн egorchik007

  • Автор темы
  • Участник
  • *
  • Сообщений: 156
    • Просмотр профиля
Re: getch ()
« Ответ #9 : 04 Октябрь 2011, 02:03:44 »
OMFG, срочно читать K&R, затем Мэтью, Стоунс - Основы программирования в Linux. А то так и будете getch() искать и main() рекурсивно вызывать.
спасибо, но я не собираюсь программить под линукс.
Просто решал одну вещицу, чисто для себя.
Я вообще ubuntu поставил на сервер и на нетбук (по приколу, xubuntu),
а ежедневно использую окна и прочее, а с линуксом по ssh
(screen, мелкие программы для запуска кое-чего) и всё) использую то, что удобно
конкретно мне и по ситуации)
egorchik007, компилятор как компилятор.
ликует по дефолту только стандартную библиотеку
остальные надо самому подключать. в MS VC кстати тоже
иногда лучше жевать чем говорить (c)
(Нажмите, чтобы показать/скрыть)
я не тру, но примерно понял))
:)
Segmentation fault
вот тут вообще не врубаюсь. Сегментация не удалась. Просто говорю ведь,
не местный я, не ферштее здешний юмор))

Axa-Ru

  • Гость
Re: getch ()
« Ответ #10 : 04 Октябрь 2011, 08:39:06 »
После запуска программа рекурсивно будет вызывать main() (с закидыванием в стек состояния регистров и прочей лабуды) пока не кончится память.
Ну а потом сообщение указанное выше.

 

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