Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » GNU/Linux » Segmentation Fault

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
25.08.2003, 22:54 Uhr
~Andara
Gast



C++:
#include <stdio.h>
#include <ncurses.h>

void main ()
{
        char ch;
        ch=0;
        printf("\n\n1. Hallo\n");
        printf("2. Hola\n");
        printf("\n0. Ende\n");
        while((ch=getch())!='0')
        {
                if(ch=='1') printf("\nHallo");
                if(ch=='2') printf("\nHola");
        }
}



Habe gerade angefangen mit C unter Linux zu programmieren. Habe also zum Test dieses kleine Progrämmchen geschrieben und wollte es mal testen. Mein erstes Problem war, daß es unter Linux keine conio.h gibt, nach langem Suchen fand ich heraus, daß die ncurses.h zu nutzen ist. Gesagt getan.
Jetzt stehe ich vor einem anderen Problem: Wenn ich das Programm ausführe, bricht es bei der Schleife mit der Meldung 'Segmentation fault' ab. Was ist das für ein Fehler und woher kommt der ? Kann mich da mal bitte einer aufklären ? Danke

Gruß
Andara

--edit: Pablo. [ cpp ] tags eingefügt--

Dieser Post wurde am 25.08.2003 um 23:05 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
25.08.2003, 23:15 Uhr
Pablo
Supertux
(Operator)


Komisch, unter SuSE linux kann ich das nicht kompilieren:

Code:
/usr/i486-suse-linux/bin/ld: cannot find -lcurses
collect2: ld returned 1 exit status



In debian (Pcppool der Math. Fak.) konnte ich das Problemlos kompilieren und beim Ausführen, gab es keinen Fehler, aber die Texte wurden auch nicht angezeigt.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
26.08.2003, 06:45 Uhr
virtual
Sexiest Bit alive
(Operator)


@Andara:
IMHO Musst Du den Kram auch initialisieren, guck mal in den Man pages.

@Pablo:
Willst Du damit sagen, daß Debian implizit ncurses zu einem Programm linkt??

Un Überhaupt:
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
26.08.2003, 13:43 Uhr
Pablo
Supertux
(Operator)


@virtual: nein, ich will nur sagen, dass ich komisch finde, dass unter meinem System ich -lcurses nicht benutzen konnte, ich weiß nicht warum. Ich hab die Dinge sogar deinstalliert und neu installiert und der fehler bekomme ich wieder.
Aber wenn ich unter debian kompiliert hab, dann bekam ich keinen Fehler, aber das Programm konnte nicht ausgeführt werden.

Ach klar, gar nicht initialisiert.

@Andara:
Versuche mit:

C++:
#include <stdio.h>
#include <curses.h>

int main ()
{
        char ch;
        ch=0;
        initscr();
        printf("\n\n1. Hallo\n");
        printf("2. Hola\n");
        printf("\n0. Ende\n");
        while((ch=getch())!='0')
        {
                if(ch=='1') printf("\nHallo");
                if(ch=='2') printf("\nHola");
        }
        endwin();
}


--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!

Dieser Post wurde am 26.08.2003 um 13:46 Uhr von Pablo Yanez Trujillo editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
26.08.2003, 13:54 Uhr
0xdeadbeef
Gott
(Operator)


Debian legt Symlinks von /usr/lib/libcurses.{a|so} -> libncurses.{a|so} an, deswegen funzt das mit -lcurses. In dem allermeisten Fällen benutzt man heutzutage aber ncurses, deswegen ist die richtige Compiler-Option eigentlich -lncurses.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
26.08.2003, 13:59 Uhr
Pablo
Supertux
(Operator)


Stimmt! mit ncurses hat es funktioniert.
--
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ GNU/Linux ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: