Variablendeklaration µVision3

#1862105
Lesenswert?
• ▲
▼
Also ich habe es bisher immer so gemacht, dass ich eine globale 
Variable, auf welche von unterschiedlichen c Dateien zugegriffen werden 
soll, immer in einer c Datei deklariere und dann per h-file allen 
anderen bekannt mache.

Meine Variante sieht so aus:

1. C Datei (1.c)
1
#include <1.h>
2

3
unsigned int global_var_xyz;
4
...

1. Header Datei (1.h)
1
#ifndef EINS_H
2
  #define EINS_H    //H-File Bezeichner
3
  extern unsigned int global_var_xyz;
4
#endif

Nun kannst du in jeder C Datei die Header Datei 1.h per #include 
einbinden und auf die Variable "global_var_xyz" zugreifen. Vieleicht 
kannst du die Zeile "unsigned int global_var_xyz;" auch in die Header 
Datei auslagern, aber das musst du selber testen. Das #ifndef ist dafür 
da, damit die "extern" Bekanntmachung nicht bei jedem erneuten Einbinden 
der Header Datei erzeugt wird (sonst gibt es Fehlermeldungen beim 
Compilieren).
So wie ich es geschrieben habe funktioniert es bei mir zuverlässig.

Ciao,
     Rainer
#1862192
Lesenswert?
• ▲
▼
Ich habe eben mal etwas nachgelesen, was genau der Unterschied zwischen 
<> und "" ist. Und hier ist der Abschnitt in der Doku diesbezüglich:
1
For #include "filename.h" the Compiler searches first the current
2
folder and then folder of the source file. When this fails or when #include
3
<filename.h> is used, the paths specified in the include paths box are
4
searched. When this still fails, the paths specified in for the INC folder
5
under Project - Components, Environment, Books ... are used.

Also ich denke, das es in den meisten Fällen keinen Unterschied macht, 
was man nun verwendet. ;)

Ciao,
     Rainer

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.