Verschiedene compiler versionen

wieso gibt es eigentlich Probleme wenn der Kernel mit gcc 3.x kompiliert und ein Treiber etwa mit gcc 2.x ?
Irgendwie dachte ich immer, dass es eigentlich egal sein müsste welchen Compiler man benützt.
Sorry, aber was Programmieren angeht bin ich nicht so sehr bewandert.

ciao
ralf

für jede software im quellcode gibt es eine mindestanforderung an den/die compiler.
es gibt sowas wie den ANSI standard der bestimmte konstruktionen im quelltext erst ermöglicht - der compiler muß sowas natürlich verstehen.

ein programm mit einem gcc2.x übersetzt muß normalerweise auch mit gcc 3.x übersetzt genauso funktionieren (abwärtskombatibilität)

unabhängig davon ist es nie falsch die READMEs etc. zu den programmen durchzulesen - da steht im allgemeinen drin welcher compiler, welche lib-dateien, make etc. vorraussetzung ist/sind.

STK

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hi,

programm mit einem gcc2.x übersetzt muß normalerweise auch
mit gcc 3.x übersetzt genauso funktionieren
(abwärtskombatibilität)

das ist soweit klar. Aber wieso verträgt sich etwa ein kernel der mit gcc3.x compiliert wurde, nicht mit einem Treiber der mit gcc2.x compiliert wurde?
Das ist mir absolut nicht klar, wieso es dort Probleme gibt.

ciao
ralf

das ist soweit klar. Aber wieso verträgt sich etwa ein kernel
der mit gcc3.x compiliert wurde, nicht mit einem Treiber der
mit gcc2.x compiliert wurde?

für ein konkretes problembeispiel fehlen da genauere informationen.
z.b. wie genau sich die fehler äußern, ob der selbe treiber mit gcc3.x übersetzt auch funktioniert, ob der treiber auf anderen kernels läuft usw.
kurzum: ein paar kreuztests würden da sicher viel aufschluß geben, ob das problem tatsächlich (ich kann ja so erstmal nur vermuten) von dem compiler kommt - und nicht etwa von librarys, hardware oder anderen softwareschnippseln.

Das ist mir absolut nicht klar, wieso es dort Probleme gibt.

mir auch noch nicht :smile:

sicher kann man das fragliche sourcepacket auch mit egcs oder anderen compilern übersetzen … und dann nochmal testen.

STK