extern
-
Es ist übrigens dem Compiler egal, ob es in einer Headerdatei steht.
Header haben keinen Sonderstatus. Deren Inhalt wird einfach anstelle des #include geklatscht vor den Compilieren. Für sie gelten daher die selben Regeln wie für .c (bzw. .cpp) Dateien.PS:
Ich hoffe, du benennst nicht wirklich eine externe Variable mit i
-
Bei systemen ohne betriebssystem (auch das gibt es!) heißt es
void main (void)
danke trotzdem für deine antwort!
-
beis schrieb:
Bei systemen ohne betriebssystem (auch das gibt es!)
Suchstichwort freestanding implementation, wer sich dazu im Standard kundig machen will.
-
beis schrieb:
Bei systemen ohne betriebssystem (auch das gibt es!) heißt es
void main (void)
das muss mal gesagt werden.
btw: ich find's auch immer albern, wenn sich einer über 'void main(void)' beschwert
-
net schrieb:
beis schrieb:
Bei systemen ohne betriebssystem (auch das gibt es!) heißt es
void main (void)
das muss mal gesagt werden.
Naja, in 'freestanding implementations' darf die Einstiegsfunktion im wesentlichen heißen, wie sie will.
btw: ich find's auch immer albern, wenn sich einer über 'void main(void)' beschwert
Naja, die übersetzten Programme schmieren halt bei vielen Systemen (hier) einfach ab und es nervt. Was soll denn der Quatsch überhaupt?
-
Daniel E. schrieb:
Naja, die übersetzten Programme schmieren halt bei vielen Systemen (hier) einfach ab und es nervt.
durch 'void main(void)' schmieren programme ab? warum?
-
net schrieb:
Daniel E. schrieb:
Naja, die übersetzten Programme schmieren halt bei vielen Systemen (hier) einfach ab und es nervt.
durch 'void main(void)' schmieren programme ab? warum?
doch, das kann passieren:
Because the startup routines that call main could be assuming that the return value will be pushed onto the stack. If main() does not do this, then this could lead to stack corruption in the program's exit sequence, and cause it to crash.
-
supertux schrieb:
Because the startup routines that call main could be assuming that the return value will be pushed onto the stack. If main() does not do this, then this could lead to stack corruption in the program's exit sequence, and cause it to crash.
was ist das für'n quatsch? für rückgabewerte von funktionen wird normalerweise ein register benutzt.
-
net schrieb:
was ist das für'n quatsch? für rückgabewerte von funktionen wird normalerweise ein register benutzt.
normalerweise != immer
-
Shade Of Mine schrieb:
net schrieb:
was ist das für'n quatsch? für rückgabewerte von funktionen wird normalerweise ein register benutzt.
normalerweise != immer
stimmt natürlich
btw: wer 'void main()' nimmt, sollte das 'exit(0)' nicht vergessen