PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu Headerdatei



Henry
16.05.2007, 19:52
Hallo,

in einer Headerdatei kann ich ja mit

#define Konst_1 500
Konstanten festlegen, die ich dann überall wo ich die Headerdatei mit #include eingebunden habe.

Kann ich in einer Headerdatei auch irgendwie einen Eingang bzw. Ausgang auf diese Weise zugänglichmachen?
So das ich z.B. nur noch wie folgt abfragen muss:

if (Inp_1 == 1)
{
Ausg_1 = 1;
}


Ich möchtde damit bezwecken das ich nich immer diese langen Zeilen mit PortD &= (1<<PD1)... habe

Danke schon einmal

Henry
16.05.2007, 22:40
Hallo noch einmal,

ich habe es nach einigem probieren herausgefunden.
Ich muss einfach meine Funktionen einmal in eine C-Datei schreiben und den Aufruf dann in der Headerdatei eintragen. Somit kann ich dann wie gewünscht in jeder meiner C-Dateien (in der meine ***.h eingebunden ist) dies Funktion aufrufen.

SprinterSB
17.05.2007, 14:08
Übicherweise stehen Implmentierung und Aufrufe einer Funktion in den C-Quellen, während die Bekanntmachung (Deklaration) einer globalen Funktion im Header geschieht.

In einem Modul, das eine C-Funktion verwendet, welches in einem anderen Modul implementiert ist, wird nur der Header eingebunden. Damit weiß der Compiler beim Übersetzen, wie er die Übergabeparameter an/von der Funktion aufbereiten muss. Die eigentliche Implementierung braucht er in dem Moment nicht zu kennen.

Henry
17.05.2007, 14:49
Hallo Georg-Johann,

im Prinziep meine ich mit Aufruf auch die Bekanntmachung. Habe mich da nur etwas ungünstig ausgedrückt, weil mir diese Umschreibung nicht eingefallen ist ;)
Die Funktionen ansich und die Aufrufe der Funktionen stehen auch bei mir in den C-Quellen drin.

Danke für den Hinweis