Sind gcc und clang so entworfen, dass sie das gleiche Speicherlayout für eine gegebene Strukturdefinition erzeugen?Erzeugen clamg und gcc dasselbe Speicherlayout für eine gegebene Strukturdefinition?
Offensichtlich ist das genaue Speicherlayout von Strukturen nicht vom C-Standard vorgeschrieben, aber gcc und clang können aus anderen Gründen immer noch das gleiche Speicherlayout erzeugen. Vielleicht wurde clang explizit dafür entworfen, um mit gcc kompatibel zu sein. Vielleicht gibt es einen anderen Standard, der beiden ähnlich ist, ähnlich der Situation mit dem Namen Mangling und dem Itanium ABI.
Hm. Würde "Nein" als Antwort gelten? –
Ja. Wenn die Antwort nein ist, dann würde ein einfaches Gegenbeispiel genügen. (Noch besser wäre eine allgemeine Beschreibung, wenn sie es nicht tun, aber das ist nur für extra Kredit.) – Praxeolitic
Ziemlich sicher, dass dies ein Teil der ABI ist; Andernfalls könnte Code, der von verschiedenen Compilern erzeugt wird, keine Strukturen hin- und hergeben. – melpomene