www.mikrocontroller.net

Forum: Compiler & IDEs Problem mit nicht startendem Programm


Autor: newbie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Ich habe mit dem C Programmieren lernen nach gut eineinhalb Jahrzehnten 
Abstinenz neu Angefangen.

Folgendes Problem:

Linux Debian etchnhalb
"Hello world" Programm unter Anjuta in C geschrieben.
Unter der Anjuta IDE läuft es im von Anjuta gestartetem Terminal.
Wenn ich das Programm von Hand im Terminal starte, passiert NICHTS.
Keine Fehlermeldung, nichts.
Ich kriege einfach nur einen neuen leeren Prompt.
Darum habe ich das Programm auch noch einmal mit gcc compiliert.
Ich erhalte a.out ohne Fehlermeldung.
Aber es laesst sich genausowenig starten wie das von Anjuta erstellte.
Ich habe alle Rechte am Programm (lesen, schreiben, ausführen).
Als root klappt es aber genausowenig.

Hier das Listing:

/* Created by Anjuta version 1.2.4a */
/*  This file will not be overwritten */

#include <stdio.h>
int main()
{
  int zaehler;
  printf("Start\n");
  for (zaehler = 1 ; zaehler < 10000 ; zaehler = zaehler + 1)
    printf("Hello world\n");
  return (0);
}



Ich persönlich glaube nicht, das es am Programm selber liegt.
Die lange Schleife ist extra eingefügt, damit ich sehen kann, ob das 
Programm auch wirklich läuft.
Es gibt ja Fälle, wo das Programm so kurz läuft, daß das Terminal sofort 
wider schliesst......ich habe aber auch direkt aus einem Terminal heraus 
versucht, das Programm zu starten.

Nun weiss ich nicht mehr weiter......

Vielen Dank im Voraus für etwaige Tipps....

Bernd

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Bernd,
das Programm ist ok und startet auch in der Konsole wenn es mit gcc 
compiliert wird.
Die Frage ist vielleicht wie Du es aufrufst:

a.out

oder

./a.out

Es könnte sein das bei der ersten Variante irgend wo ein Prog a.out im 
Suchpfad aufgerufen wird und nicht das im aktuellen Pfad.

...
hp-freund

Autor: newbie (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo HP-Freund

>Es könnte sein das bei der ersten Variante irgend wo ein Prog a.out im
>Suchpfad aufgerufen wird und nicht das im aktuellen Pfad.

BINGO! Das wars! Ich habe den Eindruck, in meinem Systems liegen jetzt 
zig alte a.out´s herum.......

DANKE!

Ich geh jetzt erst mal googgeln, wie man die Suchpfade unter Debian am 
komfortabelsten einstellt.

Bernd

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Bernd,
aus Sicherheitsgründen würde ich nur sehr vorsichtig etwas an der 
Pfadangabe ändern.
Du meinst sicher den aktuellen Pfad zur PATH Variable hinzufügen.
Würde ich lieber sein lassen.
Besser ein selbst comiliertes Prog immer mit ./programm aufrufen...

...
hp-freund

Autor: hp-freund (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bitte noch ein "p" einfügen ;)

Autor: Stefan Ernst (sternst)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
newbie schrieb:

> BINGO! Das wars! Ich habe den Eindruck, in meinem Systems liegen jetzt
> zig alte a.out´s herum.......

Falls du alle löschen möchtest:
find / -name a.out -exec rm {} \; -print

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.