Hallo Zusammen!
Kann es sein, dass es Compiler gibt, die keine inline Funktionen
unterstützen oder verwende ich das falsche Schlüsselwort?
1 | inline void Test(unsigned char a)
|
2 | {
|
3 | b+=10*a;
|
4 | }
|
5 |
|
6 | Test (10);
|
... das hier funktioniert nicht, er zeigt Syntax Error an.
Der Compiler ist MCC18 v3.38 (Microchip C18 Compiler)
Ich möchte mir den Funktions-Overhead sparen und zudem, dass er alle zur
Compile-Zeit bekannten Operationen vorher erledigt (z.B. das 10*10).
Mit Makros geht das ja auch, aber man kann keine Prototypen in den
Header setzen, muss also die Makros immer oberhalb des aufrufenden Teils
schreiben, mit inline wäre es schon schöner...
Danke für Tipps!
Viele Grüße,
Christoph