Trigraphs in g++ aktivieren?
-
-
@Schlangenmensch sagte in Trigraphs in g++ aktivieren?:
Wenn das in dem Buch nicht erklärt ist, ist es didaktisch nicht sinnvoll und spricht nicht unbedingt für ein gutes Lehrbuch.
Es ist vor allem von 1999, keine Ahnung wie Yadgar auf 2009 kommt. Wenn, dann war das bloß ein Nachdruck, aber keine neue Ausgabe.
-
Hi(gh)!
@SeppJ sagte in Trigraphs in g++ aktivieren?:
Es ist vor allem von 1999, keine Ahnung wie Yadgar auf 2009 kommt. Wenn, dann war das bloß ein Nachdruck, aber keine neue Ausgabe.
Ja, stimmt, es ist die 16. Auflage aus dem Jahr 2009, das Copyright datiert aber von 1990/99... dann müsste laut https://en.wikipedia.org/wiki/C_(programming_language)#History C90 im Buch dargestellte Standard und folglich -std=c90 die richtige Einstellung für g++/gcc sein, wenn die Programmbeispiele ohne lästige Warnungen oder gar Fehlermeldungen laufen sollen!
(und hätte ich mich nicht vorhin, getriggert durch den Wolfs-Thread in "Jenseits der Programmierung" (warum gibt es diesen Offtopic-Quatsch überhaupt in Programmierforen?) an den Rand einer GSG-9-Razzia/Zwangseinweisung nach PsychKG/Totstiefelung durch genervte Nachbarn in sadomasofaschistische Selbstvernichtungsphantasien hineingesteigert, wäre ich mit dem Kapitel "Erste Schritte" (man lernt ja immer noch Neues dazu, wie eben diese Trigraphen...) jetzt wohl schon fertig...)
Aber C auf dem C64 (oder auch dem Atari 1040 STFM, beide Systeme sind hier vorhanden) wäre wirklich mal interessant...
Bis bald im Khyberspace!
Yadgar
-
Hi(gh)!
So, gcc -std=c90 ... ist wohl definitiv der richtige Weg, dann braucht es auch kein -trigraphs! Auf geht's, Datahedin...
Bis bald im Khyberspace!
Yadgar
-
1999 war also schon eine neue Ausgabe und das Original ist von 1990? Das ist wirklich alt. Aber so viel hat sich bei C eigentlich gar nicht getan. Wenn du für C89 (oder C90) compilierst, sollte das tatsächlich alles funktionieren. Auch auf dem C64 mit Trigraph-Sequenzen. Und von C89 zu C23 ist kein so wesentlicher Unterschied, dass man später alles umlernen müsste. Den wesentlichsten Unterschied, das default-int, hast du ja schon gefunden.
Was man wohl 2078 macht, wenn C seine C78-Variante einholt?
-
Mit cc65 gibt es einen Cross-Compiler für 6502-Maschinen (u.a. C64 und Atari).
Da ist dann nur die Frage, wie man das Executable dann auf eine Floppy kopiert?Ansonsten schau auch mal in C - C64-Wiki.
-
Hi(gh)!
@SeppJ sagte in Trigraphs in g++ aktivieren?:
1999 war also schon eine neue Ausgabe und das Original ist von 1990? Das ist wirklich alt.
Als notorischer Vintage-Freak (der schon als Kind am liebsten mit Oldtimer-Modellautos gespielt hat, später dann Geschichte studiert und mit ganz wenigen Ausnahmen einen Bogen um alle Musik macht, die nach 1985 erschienen ist... und meine völlig anachronistischen Vorlieben in Sachen Reiseziele dürften auch hier allgemein bekannt sein) stehe ich auf alten Käse, je gammeliger und stinkiger, desto mmmmmhhhh... daher muss ich irgendwann auch mal mit COBOL anfangen! Ach was, COBOL... Plankalkül auf einer Z1-Emulation natürlich! Und dazu dann "Living in the Past" von Jethro Tull auf den Ohren... oder lieber Trautonium- (Hindemith, Genzmer) und Novachord-Musik (Eisler) aus den 1940ern?
Aber so viel hat sich bei C eigentlich gar nicht getan. Wenn du für C89 (oder C90) compilierst, sollte das tatsächlich alles funktionieren. Auch auf dem C64 mit Trigraph-Sequenzen. Und von C89 zu C23 ist kein so wesentlicher Unterschied, dass man später alles umlernen müsste. Den wesentlichsten Unterschied, das default-int, hast du ja schon gefunden.
Was man wohl 2078 macht, wenn C seine C78-Variante einholt?
Dann bin ich 109 Jahre alt und hoffentlich noch (notfalls mit jeder Menge Lithium im Schleimcomputer) geistig fit genug, um seit über 50 (strenggenommen seit über 80, meine allererste Begegnung mit C hatte ich 1992 in einem VHS-Kurs, brachte damals allerdings nicht viel, weil ich keinen Compiler zum Üben für meinen (damaligen) Atari 1040 STFM hatte) Jahren fröhlich vor mich hin C programmiert haben zu werden... hach, Futur II, ich liebe es...
Bis bald im Khyberspace!
Yadgar
-
Hi(gh)!
@Th69 sagte in Trigraphs in g++ aktivieren?:
Mit cc65 gibt es einen Cross-Compiler für 6502-Maschinen (u.a. C64 und Atari).
6502? Die CPU im C64 ist eine MOS 6510, und die 16bit-Ataris (wie auch die Ur-Macs und Amigas) verwenden die 68xxx-Serie von Motorola!
Da ist dann nur die Frage, wie man das Executable dann auf eine Floppy kopiert?
Vielleicht mit einem X1541-Kabel? Das soll allerdings laut Forum64 auch schon lange nicht mehr state of the art sein... es gibt mittlerweile auch gigabytegroße USB-Massenspeicher, die sich sowohl an den PC wie auch an den "Cevi" anschließen lassen, eine polnische Firma stellt die Dinger her und vertreibt sie für 79 Euro das Stück...
Ansonsten schau auch mal in C - C64-Wiki.
Also, so richtig toll sieht das ja nicht aus... alles proprietäre Software, die man legal nirgendwo mehr bekommt (und in der C64-Szene war die GNU-Idee ja nie weit verbreitet), da wäre es vielleicht wirklich sinnvoller, nochmal ganz neu einen C-Compiler zu entwickeln und den dann als freie Software in der Szene zirkulieren zu lassen! Aber das ist erstmal noch Zukunftsmusik - wer es wie ich, metaphorisch ausgedrückt, mit Ach und Krach auf den Drachenfels schafft, besteigt als Nächstes ja auch nicht den Mount Everest!
Bis bald im Khyberspace!
Yadgar
-
Bei Kassetten gibt es ja künstliche Kassetten, die beliebige Daten emulieren können. Aber bei einer Floppy ist das ungleich schwieriger, weil der Lesekopf viele Positionen haben kann, anstatt fix an einer Stelle zu sitzen. Aber cool wäre das, wenn das jemand bauen würde. Dann könnte man das Originaldiskettenlaufwerk wie eine Festplatte nutzen.
-
@Yadgar sagte in Trigraphs in g++ aktivieren?:
@Th69 sagte in Trigraphs in g++ aktivieren?:
Mit cc65 gibt es einen Cross-Compiler für 6502-Maschinen (u.a. C64 und Atari).
6502? Die CPU im C64 ist eine MOS 6510, und die 16bit-Ataris (wie auch die Ur-Macs und Amigas) verwenden die 68xxx-Serie von Motorola!
Der MOS 6510 gehört aber zur selben Prozessorfamilie, aufbauend auf dem MOS 6502:
Die CPU ist in Bezug auf Opcodes zum Prozessor 6502 völlig kompatibel, selbst hinsichtlich aller Maskenfehler und illegaler Opcodes (Opcode-Matrix).
Und nur darum geht es ja bei der Kompatibilität eines Compilers.
Und mit "Atari" sind deren erste 8-Bit Rechner gemeint, z.B. der Atari 800 sowie Atari Konsolen, wie z.B. Atari 5200 (in denen eben auch ein MOS 6502 verbaut war).