Software > Software (16-/32-Bit)

Software gesucht Korg DSM-1 und

<< < (5/5)

Chocco:

--- Zitat von: Thorsten Otto am Mi 01.07.2020, 13:09:06 ---
--- Zitat von: Arthur am Mi 01.07.2020, 12:48:37 ---ich bin kein Programmierer und weiß deshalb nicht weshalb der so wenig Erwähnung findet wenn mal nach einen C-Compiler gesucht wird.

--- Ende Zitat ---

Vermutlich weil der (gelinde gesagt) eine sehr bescheidene Oberfläche hat. Ausserdem ist sowohl der Compiler als auch die mitgelieferte Bibliothek ziemlich buggy. Wenn man nicht gerade für die FireBee entwickeln will, ist man mit Pure-C deutlich besser bedient.

Einziges Problem: Pure-C ist (im Gegensatz zu AHCC) eigentlich immer noch nicht frei erhältlich.

--- Ende Zitat ---

Pure-C ist unter TOS/GEM tatsächlich unschlagbar. Welche "schlankere" Version des GCC könnte man denn als Basis nehmen, um sie mit einer Pure-C ähnlichen IDE aufzumöbeln? Da ich immer mit Pure-C gearbeitet habe, hat sich mir diese Frage bisher nie gestellt.

goetz @ 3rz:

--- Zitat von: Chocco am Mi 01.07.2020, 22:28:51 ---Pure-C ist unter TOS/GEM tatsächlich unschlagbar. Welche "schlankere" Version des GCC könnte man denn als Basis nehmen, um sie mit einer Pure-C ähnlichen IDE aufzumöbeln? Da ich immer mit Pure-C gearbeitet habe, hat sich mir diese Frage bisher nie gestellt.

--- Ende Zitat ---

Schlank heißt hier: uralt. GCC 2.5 oder 2.6 müßte die letzte für SingleTOS gewesen sein, aus meiner Erinnerung. Ich habe nie generierten Code gegenübergestellt, aber die Libraries von GCC 2.x waren viel dicker auftragend als alles rund um PureC, so dass viel schlankere Programme herauskamen.

PureC gewinnt in der 68k-Codegenerierung deutlich gegenüber Sozobon (die Basis von AHCC) und Lattice. Anderes habe ich selbst nie angeguckt, aber Zeitschriftentests zufolge hat PureC auch bspw LaserC, Megamax C ziemlich in den Boden gestampft.

Nichtsdestotrotz ist PureC inzwischen auch steinalt¹, Compileroptimierungen haben heute ein völlig neues Niveau gegenüber damals erreicht. Ich weiß nicht, wieviel davon im heutigen gcc generisch erreicht wird, und wieviel Plattform-unabhängig, wäre sicher einen Blick wert -  und dank Crosscompiler von Thorsten und anderen ja leicht zu kriegen.

1: Schon eher simplere mathematische Optimierungen werden von PureC nicht immer erkannt und vorgenommen, das klappt schon bei manchen Kombinationen von Multiplikationen nicht, woraus man billige Additionen machen könnte.

Thorsten Otto:

--- Zitat von: gh-baden am Do 02.07.2020, 15:24:33 ---Schlank heißt hier: uralt. GCC 2.5 oder 2.6 müßte die letzte für SingleTOS gewesen sein, aus meiner Erinnerung.

--- Ende Zitat ---

2.95 gab es auch noch. Wurde am Anfang wohl auch noch für Mint verwendet. Allerdings ist man dann auch an alte Libraries gebunden, neuere kriegt damit ohne ziemlichen Aufwand nicht mehr übersetzt.


--- Zitat ---Anderes habe ich selbst nie angeguckt,
--- Ende Zitat ---

Ich hab schon öfter mal Pure-C mit gcc verglichen. Hängt immer sehr vom Anwendungszweck ab, mal hat der eine die Nase vorn, mal der andere. Pure-C ist denke ich vor allem bei 68k durch die Register-Übergabe der Parameter im Vorteil, das spart einiges an Code und Speicher-Zugriffen.


--- Zitat ---Zeitschriftentests zufolge hat PureC auch bspw LaserC, Megamax C ziemlich in den Boden gestampft.

--- Ende Zitat ---

Naja das ist auch kein Wunder, die genannten waren auch nicht viel besser in der Codegenerierung als Alcyon. Nicht mal automatische Register-Zuweisung haben sie hinbekommen, das musste man alles selber explizit angeben.


--- Zitat ---und wieviel Plattform-unabhängig,
--- Ende Zitat ---
Ich würde schätzen mindestens 90% davon ist plattform (und sogar Sprachen)- unabhängig. Der plattform-abhängige Teil macht eigentlich nur noch peephole-Optimierungen (bestimmte Befehlsfolgen durch andere ersetzen).


--- Zitat ---das klappt schon bei manchen Kombinationen von Multiplikationen nicht, woraus man billige Additionen machen könnte.

--- Ende Zitat ---
Das hängt in den meisten Fällen vom Compiler-Schalter -G (Size-Optimierung) ab. Gesetzt wird dann normalerweise muls/mulu genommen, wenn nicht, und einer der Operatoren konstant ist, eine Folge von Additionen. Könnte auch noch von anderen Bedingugne abhängen (z.B. wieviel Bits in der Konstante gesetzt sind; ausserdem wird dafür ein temporäres Register benötigt), aber grundsätzlich beherrscht Pure-C diese Optimierung.

Haupt-Problem bei Pure-C ist eigentlich nicht die Code-Optimierung, sondern die Tatsache daß er nur 16bit ints kennt. Das macht es schwer bis fast unmöglich, heutige Programme damit zu benutzen.

Navigation

[0] Themen-Index

[*] Vorherige Sete

Zur normalen Ansicht wechseln