amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > SystemTags und gcc [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

02.09.2007, 19:59 Uhr

Kaesebroetchen
Posts: 643
Nutzer
Hallo.

Ich bastel mal wieder mit dem aros gcc herum und versuche die Fehlermeldungen die der gcc in der shell ausgibt, für mein programm nutzbar zu machen. Ich habe jetzt um den Fehler einzugrenzen ein ganz kleines Testprogramm geschrieben:
c code:
#include <dos/dos.h>
#include <proto/dos.h>
#include <dos/dostags.h>


int main (int argc, char *argv[])
{
  BPTR TextDatei, TextDatei2;
  long result;
  TextDatei = Open("ram:OUT.txt",MODE_NEWFILE);
  TextDatei2 = Open("ram:ERR.txt",MODE_NEWFILE);

  result = SystemTags("dir sys:", SYS_Input,NULL,
                                                        SYS_Output,TextDatei,
                                                        SYS_Error,TextDatei2,
                                                        //SYS_Asynch,TRUE,
                                                        TAG_DONE);




  Close(TextDatei);
  Close(TextDatei2);

  return result;
}


Der obige code mit dem "dir" Befehl funktioniert wie erwartet und ich erhalte die Ausgaben in ram:out.txt.

Mache ich das gleiche mit dem gcc:
c code:
#include <dos/dos.h>
#include <proto/dos.h>
#include <dos/dostags.h>


int main (int argc, char *argv[])
{
  BPTR TextDatei, TextDatei2;
  long result;
  TextDatei = Open("ram:OUT.txt",MODE_NEWFILE);
  TextDatei2 = Open("ram:ERR.txt",MODE_NEWFILE);

  result = SystemTags("gcc cd1:test.c -o ram:test", SYS_Input,NULL,
                                                        SYS_Output,TextDatei,
                                                        SYS_Error,TextDatei2,
                                                        //SYS_Asynch,TRUE,
                                                        TAG_DONE);




  Close(TextDatei);
  Close(TextDatei2);

  return result;
}


dann bekomme ich nichts.
Starte ich den gcc per hand in der Shell, gibt er die Fehler korrekt aus.

Ich suche den Fehler jetzt schon seit Ewigkeiten und kriege es einfach nicht hin. Ich bin also für jeden Hinweis dankbar !
--
http://amidevcpp.amiga-world.de/

[ - Antworten - Zitieren - Direktlink - ]

02.09.2007, 21:07 Uhr

Mazze
Posts: 263
Nutzer
@Kaesebroetchen:

Ich habe folgenden Verdacht: GCC ist ein Frontend, welches Kompiler und Linker aufruft. Kompiler und Linker laufen in einer eigenen Shell. Du bekommst deshalb nur die Meldungen, die der GCC selbst ausgibt.

Hast du mal getestet, ob es unter AmigaOS auch so ist?

--
AROS - Because every rose has its dorns.
Meine Homepage

[ - Antworten - Zitieren - Direktlink - ]

02.09.2007, 22:58 Uhr

Kaesebroetchen
Posts: 643
Nutzer
Zitat:
Original von Mazze:
@Kaesebroetchen:

Du bekommst deshalb nur die Meldungen, die der GCC selbst ausgibt.


Wenn ich das Programm in einer Shell starte werden die Fehler in der Shell angezeigt. Meinst du also, das der Compiler und Linker das unter Umgehung des gcc frontends in der Shell ausgeben ?

Wenn das so ist habe ich natürlich ein Problem...

Zitat:
Hast du mal getestet, ob es unter AmigaOS auch so ist?

Nein. Ich habe zur Zeit nicht mal eine WinUAE Installation, geschweige denn mit installiertem gcc.

--
http://amidevcpp.amiga-world.de/

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > SystemTags und gcc [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.