Mathiable schrieb:
> Ich habe 3 Jahre ua. C in einer Schule gelernt danach 2 Jahre Beruflich
> mit 5 verschiedenen Compiler gearbeitet bei denen die Syntax alle
> ungefähr die selben waren, nur bei dem GCC sind die Syntax für die I/O
> komplett anders und ziemlich unlogisch.
Der springende Punkt ist:
Das was du als unlogisch bezeichnest ist in Wirklichkeit Standard-C.
Genau so und nicht anders frisst das jeder C Compiler auf dieser Welt.
Das ist standardisiertes C, so wie es die normierte Sprache C vorsieht.
> Wieso kann man die I/O nicht
> direkt ansteuern und verwerten, sondern muss so einen riesigen Umweg
> machen um einfach 2 I/O miteinander zu vergleichen? Wenn es nicht vom
> Compiler kommt woher dann?
Woher das kommt?
Davon, dass du nicht zwischen Standard-C und irgendwelchen
compilerspezifischen Dingen unterscheiden kannst.
Und wer nicht versteht, dass
if( ( a & 0x01 ) == ( b & 0x02 ) )
nur dann true ergibt, wenn sowohl Bit 0 in a als auch Bit 1 in b beide 0
sind und in keinem anderen Fall sonst, der kann nicht wirklich C, so wie
es bei µC Anwendungen notwendig ist. Zugegeben: Das liegt auch daran,
dass man diese Bitoperationen auf Dektopebene eher selten braucht. Aber
auch dort werden solche Bitoperationen manchmal benutzt wenn diverse
Statusflags als Bits kodiert sind um Speicher zu sparen.
Es tut mir leid. Aber an dieser Stelle ist dein C einfach mangelhaft.
Egal wieviele Jahre du schon programmierst.
> Und wieso kann man eigentlich nie in einem Forum eine Frage stellen ohne
> sofort als totaler Vollidiot dargestellt zu werden? Diese Erfahrung
> kommt nicht nur von mir!
Ich stell dich nicht als kompletten Vollidioten hin. Nur wenn jemand den
Compiler eines Vergehens beschuldigt, sollte er besser wissen wovon er
spricht. Sonst machte er sich nämlich selber zum Kapserl. Da braucht es
keinen anderen dazu.
Und um es klar auszudrücken. An dieser Stelle ist nicht der Compiler
schuld. Er hat genau das umngesetzt was du programmiert hast. Wenn du
etwas anderes wolltest, ist nicht der Compiler schuld, wenn es nicht so
funktioniert wie du das willst.