Forum: Compiler & IDEs Compilieren ohne Forward Deklaration (Arduino)


von Stephan (Gast)


Lesenswert?

Hallo Gemeinde.

Gibt es eine Möglichkeit, ohne Forward Declaration auszukommen? Wenn der 
Parser 2 Durchläufe macht, müsste das doch gehen. Gibt es einen solchen 
Schalter?

: Verschoben durch User
von Einer K. (Gast)


Lesenswert?

Ja, wenn man eine Reihenfolge einhalten kann.

Was hast du gegen Vorwärtsdeklarationen?
Hast du vielleicht ganz andere Probleme?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Stephan schrieb:
> Wenn der Parser 2 Durchläufe macht

Macht er aber nicht …
1
% avr-gcc -S -O -x c -o - -
2
int foo(int bar)
3
{
4
  return 2 * bar - 42;
5
}
6
^D
7
        .file   ""
8
__SP_H__ = 0x3e
9
__SP_L__ = 0x3d
10
__SREG__ = 0x3f
11
__tmp_reg__ = 0
12
__zero_reg__ = 1
13
        .text
14
.global foo
15
        .type   foo, @function
16
foo:
17
/* prologue: function */
18
/* frame size = 0 */
19
/* stack size = 0 */
20
.L__stack_usage = 0
21
        sbiw r24,21
22
        lsl r24
23
        rol r25
24
        ret
25
        .size   foo, .-foo
26
        .ident  "GCC: (GNU) 5.4.0"
Einmal eintippen (auf stdin, kein rewind der Eingabedatei möglich), 
<EOF>, fertig das Compilat.

von Jim M. (turboj)


Lesenswert?

Stephan schrieb:
> Gibt es eine Möglichkeit, ohne Forward Declaration auszukommen? Wenn der
> Parser 2 Durchläufe macht, müsste das doch gehen

Dann wäre das aber nicht C oder C++, sondern eher C# oder Java. Dort 
braucht man keine Forward Declaration.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.