Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   GCC und zu langer Aufruf (https://www.delphipraxis.net/97324-gcc-und-zu-langer-aufruf.html)

Nils_13 8. Aug 2007 16:26


GCC und zu langer Aufruf
 
Hi,

ich arbeite schon seit einiger Zeit an einer kleinen IDE für Linux/Windows, die übersichtlich sein soll und Projektdateien verwalten kann. Wenn ich ein Projekt (mein kleines OS) hernehme und soweit alles eingestellt habe, wird der Aufruf allerdings viel zu lang:
Zitat:

gcc -g -c -Wall -fleading-underscore -Wall -ffreestanding -nostdlib -fno-builtin -nostdinc -I /mnt/datene/13/Source/asm/start.asm /mnt/datene/13/Source/asm/isrs.asm /mnt/datene/13/Source/asm/irq.asm /mnt/datene/13/Source/include/grub.h /mnt/datene/13/Source/include/types.h /mnt/datene/13/Source/include/timer.h /mnt/datene/13/Source/include/stdlib.h /mnt/datene/13/Source/include/multiboot.h /mnt/datene/13/Source/include/languages.h /mnt/datene/13/Source/include/keyboardinput.h /mnt/datene/13/Source/include/keyboard.h /mnt/datene/13/Source/include/kernel.h /mnt/datene/13/Source/include/isrs.h usw.
Man könnte einfach cd ausführen (geht zum Glück sogar bei beiden Systemen :)) und somit schon viele Pfadangaben sparen, aber das wäre keine Lösung, da es dann bei gewissen Projekten dennoch viel zu lang werden könnte. Kann der GCC Indexdateien (eine Datei, die alle Dateipfade beinhaltet und vom Compiler auseinandergenommen wird; konnte ich über Google nicht rausfinden) oder gibt es eine andere Lösung ?

Ein Beweis dafür, dass es geht ist z.B. CodeBlocks.

Der_Unwissende 8. Aug 2007 16:43

Re: GCC und zu langer Aufruf
 
Hi,
der Schalter -I wird bei der GCC nicht dazu benutzt eine einzelne Datei sondern ein Verzeichnis einzubinden, alle Dateien die direkt in diesem Verzeichnis liegen werden damit automatisch berücksichtigt!

Gruß Der Unwisssende

Nils_13 8. Aug 2007 16:44

Re: GCC und zu langer Aufruf
 
Ok, aber mal abgesehen davon, hat ein Terminal eine 255er Zeichenbeschränkung.

Der_Unwissende 8. Aug 2007 16:46

Re: GCC und zu langer Aufruf
 
Zitat:

Zitat von Nils_13
Ok, aber mal abgesehen davon, hat ein Terminal eine 255er Zeichenbeschränkung.

Aha.

Nils_13 8. Aug 2007 16:47

Re: GCC und zu langer Aufruf
 
Würde ich -I weglassen, würde schonmal soweit alles stimmen, allerdings zu lang sein, da das weniger als die Hälfte von der gesamten Zeile ist.

Der_Unwissende 8. Aug 2007 16:54

Re: GCC und zu langer Aufruf
 
Zitat:

Zitat von Nils_13
Würde ich -I weglassen, würde schonmal soweit alles stimmen, allerdings zu lang sein, da das weniger als die Hälfte von der gesamten Zeile ist.

Ok, aber Du kannst auch einfach mit der -c Option jede Datei einzeln übersetzen. Klar, ist der Pfad dann länger als 255 Zeichen hast Du ein Problem (vorallem weil Du weil Du einen solch langen Pfad wählst!). Was die Beschränkung auf 255 Zeichen angeht, von wessen Terminal sprichst Du? Windows? Oder ein Unix-Derivat? Sollte LEtzteres der Fall sein, welche Shell? Oder gilt die Beschränkung überall?

DGL-luke 8. Aug 2007 16:55

Re: GCC und zu langer Aufruf
 
Vorschlag:

Code:
gcc < cmdline.txt REM gcc aufrufen mit input aus cmdline.txt
Müsst unter Windows funzen, obs die Linux-Bash anders macht weiß ich nicht.

EDIT: äh, ne, das füttert das file nur als std-input rein. :gruebel: irgendwas muss es doch da geben.

Der_Unwissende 8. Aug 2007 17:19

Re: GCC und zu langer Aufruf
 
Zitat:

Zitat von DGL-luke
Müsst unter Windows funzen, obs die Linux-Bash anders macht weiß ich nicht.

EDIT: äh, ne, das füttert das file nur als std-input rein. :gruebel: irgendwas muss es doch da geben.

Unter Linux würde man wohl am ehesten etwas wie
Code:
gcc -c -... `cat cmdline.txt`
verwenden, das würde die Ausgabe von cat cmdline.txt (eben der Inhalt der Datei, durch cat gelesen) als Eingabe von gcc -c verwenden, aber da wäre dann schon die Frage, ob ein makefile nicht das gleiche leisten würde und ob es überhaupt diese Beschränkung auf 255 Zeichen gibt.

Nils_13 8. Aug 2007 17:25

Re: GCC und zu langer Aufruf
 
Ich erhielt vorhin eine Exception, die mir sagte, der String wäre leer, da ich so etwas vom eigenen System kenne :mrgreen:, würde ich sagen, dass der Buffer geleert wurde.

Dax 8. Aug 2007 17:26

Re: GCC und zu langer Aufruf
 
Code:
cat args.txt | xargs -0 gcc
Das wirft jede Zeile der Textdatei separat auf den gcc. Aber Achtung: hinter der letzten Zeile darf kein \n stehen, was aber standardmäßig der Fall ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:21 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz