gcc mault über ^Z

OP (Firma: JDCC) #5375656
Lesenswert?

Moin und nachträglich Frohe Ostern !

Ich probiere gerade mal gcc aus (bisher Watcom) und stolpere
über das ^Z das mein Editor als korrekten Abschluß der Quelldatei
da anfügt. Watcom hat das eine Option die eine entsprechende
Meldung abschaltet, gcc meint "error: stray '\32' in program".

Gibt es da auch diese Möglichkeit ? Ansonsten müßte ich die
Quelldateien durch ein Programm jagen daß das ^Z entfernt.

In den unzähligen gcc-Optionen kann ich da nichts finden.

Grüße Joe.

PS: Google findet außer Reklame nichts ...
OP (Firma: JDCC) #5375715
Lesenswert?

NichtWichtig schrieb:
> mach doch // davor

Vor was ?

Den Quellcode für den Editor (e2, uralt aber gut) habe ich nicht
mehr. Der ist irgendwann mal bei einem Plattencrash weggeflogen.

>Was heißt korrektem Abschluss der Datei? Das hat da am Ende nichts zu
>suchen, wenn du mit GCC kompilieren willst.

So ist es. Muß aber nicht. Beim watcom kann ich das ja auch abschalten.
Gast #5375727
Lesenswert?

Ein EOF haben nur wirklich museale Betriebssysteme wie CP/M gebraucht,
die nur mit Sektoren und nicht mit Dateilängen umgehen konnten.

Wer heutzutage sowas noch ans Ende seiner Dateien schreibt,
hat es nicht besser verdient, als mit dem Ärger zu leben.
Moderator Persönliche Seite #5375731
Lesenswert?

Patrick R. schrieb:
> Was heißt korrektem Abschluss der Datei?

Unter CP/M war das halt so. :)  (Da gab es im Verzeichnis keinen Eintrag
für die Dateilänge, nur für die Anzahl der 128-Byte-Sektoren.)

Nein, wie man dem GCC beibringen kann, solch eine archaische Datei
zu verarbeiten, weiß ich auch gerade nicht.  Vermutlich müsste man
sich eine locale zimmern, in der das ^Z als "whitespace" akzeptiert
wird, und diese dann als Zeichensatz/Encoding für den Quelltext beim
GCC angeben.
Gast #5375747
Lesenswert?

Script rüberlaufen und ^Z. Braucht max 1 Stunde wenn man sowas 
implementieren will. Der Thread ist ja 1 Stunde alt. Also dein Problem 
wird vermutlich schneller mit ein Script gelöst als hier im Thread.
Gast #5375966
Lesenswert?

Oder gescheiten Editor benutzen.

Manche Probleme sind eigentlich keine wenn man sich ein bisken Mühe gibt 
:-)

Eclipse, Notepad++, vi, geany, MS VS, µVision ... und und und...

Da wird doch wohl was brauchbares dabei sein.
Gast #5375997
Lesenswert?

Joachim D. schrieb:
> Ich probiere gerade mal gcc aus (bisher Watcom) und stolpere
> über das ^Z das mein Editor als korrekten Abschluß der Quelldatei
> da anfügt.

Ich würde sagen, der korrekte Abschluss einer C Quelldatei ist ein 
Newline (vor dem kein Backslash stehen darf).

Das von Martin HR erwähnte 'tr' ließe sich bestimmt in Deinen 
Compileraufruf einbauen, aber den kennen wir ja nicht (wie auch Dein 
Betriebssystem).
Moderator #5376008
Lesenswert?

Das Problem mit dem Editor hat sich doch ohnehin erledigt:

Joachim D. schrieb:
> Den Quellcode für den Editor (e2, uralt aber gut) habe ich nicht
> mehr. Der ist irgendwann mal bei einem Plattencrash weggeflogen.

Es geht also lediglich darum, eine begrenzte Zahl von bestehenden
Quelldateien einmal in ein ISO-C-konformes Format zu bringen. Damit
ist das Problem ein für allemal aus der Welt. Ob man das manuell macht
oder dafür ein Tool zuhilfe nimmt, würde ich von der Anzahl der
betroffenen Dateien abhängig machen.

Edit:

Hab das obige Zitat falsch gelesen: Das Executable des Editors scheint
ja noch vorhanden zu sein, nur sein Quellcode fehlt (war der tatsächlich
Open-Source?). Ein richtiger Hacker würde wohl einfach den Binärcode des
Editors patchen. Das Einfügen des ^Z-Zeichens geschieht vermutlich nur
an einer enzigen Stelle im Code, die mit etwas Geschick oder einem guten
Debugger relativ schnell zu finden sein dürfte.
OP (Firma: JDCC) #5376012
Lesenswert?

mmm schrieb:
> Das von Martin HR erwähnte 'tr' ließe sich bestimmt in Deinen
> Compileraufruf einbauen, aber den kennen wir ja nicht (wie auch Dein
> Betriebssystem).

Das ist in 5 min selbst geschrieben.

OS ist Windows 7. Es ist nun wirklich kein Problem, ein ^Z am
Dateiende in die Tonne zu kloppen. Ich finde es nur merkwürdig,
daß ein Kommandozeilentool darüber stolpert. Andere Compiler
können das ja auch ...
Gast #5376013
Lesenswert?

Und ich dachte schon, Leute die noch XP nutzen sind altmodisch... Aber 
einen Editor für DOS? Wow. Wie nutzt du den überhaupt, in einer DOS-Box? 
Und kopierst dann ständig den Code auf den Host zum Kompilieren? Oder 
mit DJGPP?
Gast #5376021
Lesenswert?

Joachim D. schrieb:
> Ich habe eine Thin-Client mit W98 ;-)))

Arbeitest du im Museum? ;-)

Joachim D. schrieb:
> Ich liebe halt diesen Editor.
Kann VIM nicht ähnliches?

Joachim D. schrieb:
> Andere Compiler
> können das ja auch ...
Naja, der GCC war nie für CP/M gemacht, sondern für Unix/Linux... Und 
selbst wenn, solche Legacy-Unterstützungen bereiten oft mehr Kummer als 
sie nützen.
Persönliche Seite #5376186
Lesenswert?

Joachim D. schrieb:
> Außerdem läuft er bei mir unter DOS

Er kennt also keine Dateinamen, sondern nur 8.3-Kürzel, und er kennt nur 
den sog. Textmodus, d.h. kann bestenfalls 80 Zeichen in 43 Zeilen 
darstellen.

Ich bin sehr, sehr froh darüber, daß ich seit weit über 20 Jahren diese 
Einschränkung hinter mir gelassen habe. Als ich mit meinem Job anfing, 
nutzte ich ein Terminal mit 24 Zeilen à 80 Zeichen ... und produzierte, 
um den Überblick zu behalten, jeden Monat einen gut 10cm dicken Stapel 
Ausdruck auf Endlospapier.

Seitdem ich vernünftige Monitore habe (und Editoren nutze, die damit 
etwas anfangen können), drucke ich keinen Quelltext mehr aus. Auf meinem 
primären Arbeitsmonitor kann ich über 100 Textzeilen in lesbarer Form 
darstellen.

Ich hätte schon in den 90ern nach einem Ersatz für den Editor gesucht - 
oder mir einen geschrieben, wenn ich dessen Funktionen für so genial 
gehalten hätte.
Gast #5377870
Lesenswert?

> Und ich dachte schon, Leute die noch XP nutzen sind altmodisch... Aber
> einen Editor für DOS?

Du solltest dir mal klar machen aus welchem Jahrhundert vi ist und der 
wird auch noch reichlich genutzt. Und dann solltest du mal jemanden 
zusehen der mit vi umgehen kann und das mit so einem Mausschubser von 
heute vergleichen.

Anzuprangern ist der OP hingegen weil er den Source seines Editors 
verloren hat! Das geht ja mal garnicht. :-)

Olaf
#5377898
Lesenswert?

Olaf schrieb:
> Du solltest dir mal klar machen aus welchem Jahrhundert vi ist und der
> wird auch noch reichlich genutzt.

Definiere „reichlich“...

Sehr viele Programme wurden irgendwann mal im dem letzten Jahrtausend 
erstveröffentlicht, und sind heute noch in Benutzung. Nur halt nicht 
mehr in ihrer Urform.

Und früher war ganz sicher nicht alles besser, schon gar nicht bei den 
Editoren.

Oliver
#5377902
Lesenswert?

Olaf schrieb:
>> Und ich dachte schon, Leute die noch XP nutzen sind altmodisch... Aber
>> einen Editor für DOS?
>
> Du solltest dir mal klar machen aus welchem Jahrhundert vi ist und der
> wird auch noch reichlich genutzt.

Ich würde sagen, eher selten. Meistens ist es eher vim oder gar eines 
der Klickibunti-Derivate davon. Du vergleichst hier außerdem eine 
Software, die immer noch auf dem Stand von anno dazumal ist, mit einer, 
die sich inzwischen weiterentwickelt hat. Windows stammt aus dem Jahre 
1985 und wird von manchen Menschen noch heute genutzt. ;-)

> Und dann solltest du mal jemanden zusehen der mit vi umgehen kann und das
> mit so einem Mausschubser von heute vergleichen.

Naja, vi wäre mir dann doch zu rudimentär. vim muss es schon sein.
Gast #5377909
Lesenswert?

Olaf schrieb:
> Du solltest dir mal klar machen aus welchem Jahrhundert vi ist und der
> wird auch noch reichlich genutzt. Und dann solltest du mal jemanden
> zusehen der mit vi umgehen kann und das mit so einem Mausschubser von
> heute vergleichen.

Ja ich kenne so jemanden, und ja ich habe gesehen wie der in vim 
zwischen den einzelnen Texten umgeschaltet hat (und auch wie lange er 
dazu benötigt hat bis er die richtige Textseite gefunden hatte), ich 
dachte nur: wow braucht der lange dazu, in einem gescheiten Editor ist 
das ein einziger Mausklick
Gast #5377912
Lesenswert?

xxx schrieb:
> Olaf schrieb:
>> Du solltest dir mal klar machen aus welchem Jahrhundert vi ist und der
>> wird auch noch reichlich genutzt. Und dann solltest du mal jemanden
>> zusehen der mit vi umgehen kann und das mit so einem Mausschubser von
>> heute vergleichen.
>
> Ja ich kenne so jemanden, und ja ich habe gesehen wie der in vim
> zwischen den einzelnen Texten umgeschaltet hat (und auch wie lange er
> dazu benötigt hat bis er die richtige Textseite gefunden hatte), ich
> dachte nur: wow braucht der lange dazu, in einem gescheiten Editor ist
> das ein einziger Mausklick

Du hast den wichten Teil überlesen:
1
jemanden ... der mit vi umgehen kann
Gast #5377914
Lesenswert?

Die Lösung ist doch ganz einfach:

Für archaische Sourcecodes nimmt man einen archaischen Compiler!

Wer das nicht will, muss den Sourcecode halt anpassen, und das heisst 
hier: ^Z entfernen

Wenn Watcom so ein vorsintflutlicher Compiler ist, der das noch kann, 
dann nimmt man halt den...
OP (Firma: JDCC) #5377919
Lesenswert?

xxx schrieb:
> Die Lösung ist doch ganz einfach:
>
> Für archaische Sourcecodes nimmt man einen archaischen Compiler!
>
> Wer das nicht will, muss den Sourcecode halt anpassen, und das heisst
> hier: ^Z entfernen
>
> Wenn Watcom so ein vorsintflutlicher Compiler ist, der das noch kann,
> dann nimmt man halt den...

Meine Frage war ob es ein Flag gibt, das das abschaltet.

e hat (für mich) den Vorteil, er wird komplett per Tastatur bedient,
Maus fällt flach. e kann alles was ich brauche, warum wechseln ?
Nebenbei ist die Schrift besser lesbar.

Unter W verwende ich Textpad, auch ok. vi etc. ... muß man lieben ;)
Gast #5377921
Lesenswert?

mh schrieb:
> Du hast den wichten Teil überlesen:jemanden ... der mit vi umgehen kann

Woran erkennt man das?

Derjenige (übrigens war der damals als Freelancer bei Rohde&Schwarz und 
macht auch viel bei Bosch) sagte damals das er immer vim nimmt und daher 
dachte ich, das er damit umgehen kann.
#5377959
Lesenswert?

xxx schrieb:
> Ja ich kenne so jemanden, und ja ich habe gesehen wie der in vim
> zwischen den einzelnen Texten umgeschaltet hat (und auch wie lange er
> dazu benötigt hat bis er die richtige Textseite gefunden hatte), ich
> dachte nur: wow braucht der lange dazu, in einem gescheiten Editor ist
> das ein einziger Mausklick

Mausklick heißt, dass ich erstmal von der Tastatur zur Maus umgreifen 
muss. Wenn ich für einen Texteditor viel Mausinteraktion brauche, ist 
das Mist. Aber auch vim (egal ob GUI-Version oder nicht) lässt sich mit 
einem Mausklick ziwschen den Textfenstern umschalten.
Ich würde von mir absolut nicht behaupten, wirklich gut mit vim zu sein, 
aber dennoch staunen Leute oft, wie schnell ich damit bin und kommen 
nicht  hinterher, zu erkennen, was überhaupt gerade passiert.
Und zu deinem Beispiel kenne ich auch das Gegenbeispiel von Leuten, die 
für jeden Bearbeitungsschritt erstmal zur Maus fassen und ewig in 
irgendwelchen
Menüs rumsuchen. Kommt eben immer drauf an, wie gut man sein Tool 
beherrscht.

xxx schrieb:
> mh schrieb:
>> Du hast den wichten Teil überlesen:jemanden ... der mit vi umgehen kann
>
> Woran erkennt man das?

Na eben daran, dass er damit nicht langsam ist. ;-)

> Derjenige (übrigens war der damals als Freelancer bei Rohde&Schwarz und
> macht auch viel bei Bosch) sagte damals das er immer vim nimmt und daher
> dachte ich, das er damit umgehen kann.

Joachim D. schrieb:
> e hat (für mich) den Vorteil, er wird komplett per Tastatur bedient,
> Maus fällt flach. e kann alles was ich brauche, warum wechseln ?

Die Einstellung ist immer etwas "gefährlich". Es ist nicht ungewöhnlich, 
Dinge, die man noch nie benutzt hat, nicht zu vermissen. Oft erkennt man 
den Wert erst, wenn man etwas wirklich mal ausprobiert hat.
Gast #5377963
Lesenswert?

Wie ist das denn in vim... viele IDE's wie z.b. Eclipse zeigen links 
einen Dateibaum an. Wenn das Projekt aus hunderten Dateien besteht kann 
ich mir ein paar Klicks die richtige finden. Wie geht das in vim ohne 
Maus? Muss ich da jedes Mal den Dateinamen eingeben?
OP (Firma: JDCC) #5377980
Lesenswert?

> Joachim D. schrieb:
>> e hat (für mich) den Vorteil, er wird komplett per Tastatur bedient,
>> Maus fällt flach. e kann alles was ich brauche, warum wechseln ?
>
> Die Einstellung ist immer etwas "gefährlich". Es ist nicht ungewöhnlich,
> Dinge, die man noch nie benutzt hat, nicht zu vermissen. Oft erkennt man
> den Wert erst, wenn man etwas wirklich mal ausprobiert hat.

Wenn man von der Mauserei öfter mal eine Sehnenscheidentzündung
hat ...
Gast #5378000
Lesenswert?

> Meine Frage war ob es ein Flag gibt, das das abschaltet.

Bau doch einfach eins ein. Beim uebersichtlichen, wohldokumentierten und 
gut reproduzierbarem Konzept hinter gcc kann das ja nur eine Sache von 
Monaten^WMinuten sein sowas einzubauen. :)

Olaf
Moderator Persönliche Seite #5378024
Lesenswert?

Oliver S. schrieb:
>> Meine Frage war ob es ein Flag gibt, das das abschaltet.
>
> Ist ja nun beantwortet. Hat er nicht,

Sehe ich nicht so.  Siehe obige Antwort: eine locale zimmern, in der
^Z ein whitespace character ist, und es sollte funktionieren.

Allerdings bin ich zu faul, das für Joachim hier zu machen, ist halt
Arbeit, und ich habe nichtmal ansatzweise eine Ahnung, wo auf dem
Windows die locales überhaupt hinterlegt sind.
Gast #5378057
Lesenswert?

Vermutlich wuerde es nur 10 Minuten dauern eine Sonderbehandlung
fuer das leidige EOF in den CPP hineinzuzementieren und sich
den neu zu bauen.

Bei einem Forthinterpreter ging es noch schneller, um Tabs
als Whitespace und Tab zu behandeln.
Ob das Forth-like ist, weiss ich allerdings nicht.
Waere mir aber auch egal.
#5378116
Lesenswert?

Dr. Sommer schrieb:
> Wie ist das denn in vim... viele IDE's wie z.b. Eclipse zeigen links
> einen Dateibaum an. Wenn das Projekt aus hunderten Dateien besteht kann
> ich mir ein paar Klicks die richtige finden. Wie geht das in vim ohne
> Maus? Muss ich da jedes Mal den Dateinamen eingeben?

Für sowas gibt es Plugins, z.B. https://github.com/scrooloose/nerdtree
Gast #5378147
Lesenswert?

Joachim D. schrieb:
> Ist ja auch nicht so tragisch. Das ^Z ist schnell ausgemerzt.
>

DU könntest ja auch feedback geben ob


>> EOFMODE=OFF
>>

> :-))) Danke !

die gewünschte Wirkung zeitigt.

> Ich versuche im Moment, ein Beispiel mit dem g++ zu kompilieren.
> Der Linker zickt ... Ich mache dazu mal einen anderen Thread auf
> (bestimmt irgendwas übersehen).

ansonsten kann ich mich dem nur anschliessen:

Autor: Rufus
>>> ....
>>> den sog. Textmodus, d.h. kann bestenfalls 80 Zeichen in 43 Zeilen
>>> darstellen.

>>> bin sehr, sehr froh darüber, daß ich seit weit über 20 Jahren diese
>>> Einschränkung hinter mir gelassen habe. ....



Das behindert die Arbeit doch ganz gewaltig gleich was es für tolle 
Funktionen seinerzeit darin gab, no way sich nochmal an so etwas zu 
setzen. Ausser vlt. an historischem Gerät.



---

elvis-2.2 im Gebäude ;)
Beitrag #5379155 wurde von einem Moderator gelöscht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren