Linux ja; aber welches?

Direkte Linux-Programmierung, POSIX
MoonGuy
Beiträge: 231
Registriert: Fr Okt 08, 2010 2:49 pm

Re: Linux ja; aber welches?

Beitrag von MoonGuy » Mo Nov 29, 2010 5:21 pm

Kerli hat geschrieben:
MoonGuy hat geschrieben:Hab einen Windows 7 Loader. Mit dem startet es aber nicht^^
Was sagt der denn, bzw. wie weit kommt er?
Alles schwarz, oben der Cursor, der blinkt(Wie bei Ubuntu beim Start auch). Dann nach etwa der gleichen Zeit, die Ubuntu braucht zum Laden, komme ich wieder ins Bootmenü. Das wars^^

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Linux ja; aber welches?

Beitrag von Xin » Mo Nov 29, 2010 5:28 pm

MoonGuy hat geschrieben:
Kerli hat geschrieben:
MoonGuy hat geschrieben:Hab einen Windows 7 Loader. Mit dem startet es aber nicht^^
Was sagt der denn, bzw. wie weit kommt er?
Alles schwarz, oben der Cursor, der blinkt(Wie bei Ubuntu beim Start auch). Dann nach etwa der gleichen Zeit, die Ubuntu braucht zum Laden, komme ich wieder ins Bootmenü. Das wars^^
Ich gucke zu Hause mal, wie meine grub.cfg aussieht, bei mir startet Win7.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

MoonGuy
Beiträge: 231
Registriert: Fr Okt 08, 2010 2:49 pm

Re: Linux ja; aber welches?

Beitrag von MoonGuy » Mo Nov 29, 2010 6:33 pm

Hab ein Problem. Ubuntu führt meine Programme nicht aus, irgendwie. Also die selbstgeschriebenen.
Code:

Code: Alles auswählen

#include <stdio.h>

int main()
{
  fgetc( NULL ); // damit die konsole erstmal offen bleibt
  return 0;
}
Befehl:
gcc -o test test.c

Wenn ich die test Doppelklicke oder Rechtsklick->open'e oder Enter'e, dann passiert nichts.

Woran liegt das?
Installiert habe ich build-essential, cmake und andere(wie mir von Ubuntu und diversen Internetseiten empfohlen wurde).

THX für Antworten^^

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Linux ja; aber welches?

Beitrag von Xin » Mo Nov 29, 2010 6:45 pm

MoonGuy hat geschrieben:Hab ein Problem. Ubuntu führt meine Programme nicht aus, irgendwie. Also die selbstgeschriebenen.
Befehl:
gcc -o test test.c

Wenn ich die test Doppelklicke oder Rechtsklick->open'e oder Enter'e, dann passiert nichts.
Gib "./test" ein.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

MoonGuy
Beiträge: 231
Registriert: Fr Okt 08, 2010 2:49 pm

Re: Linux ja; aber welches?

Beitrag von MoonGuy » Mo Nov 29, 2010 9:50 pm

Xin hat geschrieben:
MoonGuy hat geschrieben:Hab ein Problem. Ubuntu führt meine Programme nicht aus, irgendwie. Also die selbstgeschriebenen.
Befehl:
gcc -o test test.c

Wenn ich die test Doppelklicke oder Rechtsklick->open'e oder Enter'e, dann passiert nichts.
Gib "./test" ein.
Wenn beim compilen genommen statt test gibt es keine Änderung. Wenn man mit ./test ausführen will, gibt es einen Segmentation Fault.

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Linux ja; aber welches?

Beitrag von Bebu » Mo Nov 29, 2010 10:00 pm

MoonGuy hat geschrieben: Wenn beim compilen genommen statt test gibt es keine Änderung. Wenn man mit ./test ausführen will, gibt es einen Segmentation Fault.

Den Satz verstehe ich nicht... Segmentation fault ist ein Speicherzugriffsfehler in deinem Programm. Den bekommst du immer, wenn du auf ungültige Speicherbereiche zugreifen willst, in denen du nichts verloren hast ;) Aber freu dich, immerhin läuft dein Programm, wenn auch nur kurz :mrgreen:
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

MoonGuy
Beiträge: 231
Registriert: Fr Okt 08, 2010 2:49 pm

Re: Linux ja; aber welches?

Beitrag von MoonGuy » Mo Nov 29, 2010 10:12 pm

Bebu hat geschrieben:
MoonGuy hat geschrieben: Wenn beim compilen genommen statt test gibt es keine Änderung. Wenn man mit ./test ausführen will, gibt es einen Segmentation Fault.

Den Satz verstehe ich nicht... Segmentation fault ist ein Speicherzugriffsfehler in deinem Programm. Den bekommst du immer, wenn du auf ungültige Speicherbereiche zugreifen willst, in denen du nichts verloren hast ;) Aber freu dich, immerhin läuft dein Programm, wenn auch nur kurz :mrgreen:
Das ergibt ja praktisch keinen Sinn, weil dort ein fgetc kommt(Habs auch mit fgets( stdin ) probiert.

Naja. ich habe einmal probiert
gcc -o ./test test.c -> klappt nicht
und einmal
gcc -o test test.c
./test -> klappt nicht^^

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Linux ja; aber welches?

Beitrag von Xin » Mo Nov 29, 2010 10:19 pm

MoonGuy hat geschrieben:Das ergibt ja praktisch keinen Sinn, weil dort ein fgetc kommt(Habs auch mit fgets( stdin ) probiert.

Naja. ich habe einmal probiert
gcc -o ./test test.c -> klappt nicht
und einmal
gcc -o test test.c
./test -> klappt nicht^^
das sind beides die gleichen Befehle... -o test legt eine Datei Test im aktuellen Verzeichnis an. -o ./test, wechselt vom aktuellen Verzeichnis ins aktuelle Verzeichnis (es passiert also nix) und legt dort eine Datei test an.

Allgemein rate ich davon ab, derartige Funktionen zu verwenden. Sie sind nicht sicher, weil Du nicht weißt, was du als Eingabe bekommst oder ob Du überhaupt etwas bekommst. Von NULL bekommst Du jedenfalls nichts.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

MoonGuy
Beiträge: 231
Registriert: Fr Okt 08, 2010 2:49 pm

Re: Linux ja; aber welches?

Beitrag von MoonGuy » Mo Nov 29, 2010 11:02 pm

Xin hat geschrieben:
MoonGuy hat geschrieben:Das ergibt ja praktisch keinen Sinn, weil dort ein fgetc kommt(Habs auch mit fgets( stdin ) probiert.

Naja. ich habe einmal probiert
gcc -o ./test test.c -> klappt nicht
und einmal
gcc -o test test.c
./test -> klappt nicht^^
das sind beides die gleichen Befehle... -o test legt eine Datei Test im aktuellen Verzeichnis an. -o ./test, wechselt vom aktuellen Verzeichnis ins aktuelle Verzeichnis (es passiert also nix) und legt dort eine Datei test an.

Allgemein rate ich davon ab, derartige Funktionen zu verwenden. Sie sind nicht sicher, weil Du nicht weißt, was du als Eingabe bekommst oder ob Du überhaupt etwas bekommst. Von NULL bekommst Du jedenfalls nichts.
Öh, habe das nur gemacht wegen
Xin hat geschrieben:Gib "./test" ein.
In any case funktioniert es nicht. Auch mit stdin nicht...

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8859
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Linux ja; aber welches?

Beitrag von Xin » Di Nov 30, 2010 12:42 am

Lass fgetc weg.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Antworten