static Initialisierungsreihenfolge Fiasko

Ich las über SIOF aus einem Buch und es gab ein Beispiel:

//file1.cpp
extern int y;
int x=y+1;

//file2.cpp
extern int x;
int y=x+1;  

Now Meine Frage ist:
Werden im obigen Code die folgenden Dinge passieren?

während der Kompilierung von file1.cpp belässt der Compiler y so, wie er ist, dh, er reserviert keinen Speicherplatz dafür.compiler reserviert Speicher für x, initialisiert ihn jedoch nicht.Während der Kompilierung von file2.cpp belässt der Compiler x so wie es ist, dh er weist ihm keinen Speicherplatz zu.compiler reserviert Speicher für y, initialisiert ihn jedoch nicht.Während Sie file1.o und file2.o verknüpfen, lassen Sie jetzt file2.o zuerst initialisieren, also jetzt:
Erhält x den Anfangswert 0? oder wird nicht initialisiert?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage