Fragen zur Variablendeklaration

Gast #1702774
Lesenswert?
• ▲
▼
Folgendes Problem:

Ich bin während meines Projektes auf folgendes Problem gestoßen:

Es wird eine Variable deklariert:
  static OS_STACKPTR int Stack0[512]; /* Task stacks         */

Die Deklaration der Variable ist im großen und ganzen kein Problem für 
mich. Jedoch welchen Sinn macht OS_STACKPTR

In meinem C-Code habe ich folgendes define gefunden:
  #ifndef OS_STACKPTR
    #define OS_STACKPTR
  #endif

Welchen Sinn macht die Definition von OS_STACKPTR?

Ich bin sehr gespannt auf eure Antworten.
Gast #1702801
Lesenswert?
• ▲
▼
Deine Frage läßt sich mangels weiterer Angaben nur abstrakt beantworten.

Vermutlich ist das fragliche OS für verschiedene Prozessoren und 
Compiler portiert worden oder das ist zumindest vom Entwickler so 
vorgesehen. In einer anderen Kombination ist der Wert dann unter 
Umständen nicht leer.
#1702806
Lesenswert?
• ▲
▼
Durch das #define wird OS_STACKPTR zu einem Leerstring.

Nach dem Präprozessorlauf steht da also

static int Stack0[512];

eine ganz normale Definition.

<Ratemodus ein>
Das ganze dürfte aus einem Pakte stammen, welches für verschiedene CPU's 
und oder Betriebssysteme angeboten wird. Wenn du also genau wissen 
willst, was es mit dem OS_STACKPTR auf sich hat, musst du dir eine 
Variante deines Codes besorgen, in dem dieses Makro nicht in einen 
Leerstring exapandiert. Eventuell gibt es ja in einem Header File auch 
noch ein anderes #define dafür, welches wieder über einen #ifdef von der 
aktuellen Konfiguration des Pakets abhängt.

Erst dann, wenn du da fündig wirst, kann man weitere Recherche 
betreiben, warum und wieso es da eine Spezialität gibt bzw. was damit 
bezweckt wird.

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.