Über #define

Gast #889327
Vielen Dank für deine Erklärung. Kannst Du vieleicht die Code noch 
einmal erzählen?

#ifndef V_MEMRAM0
# define V_MEMRAM0
#endif

#ifndef V_MEMRAM0
# define V_MEMRAM0
#endif

#ifndef V_MEMRAM0
# define V_MEMRAM0
#endif

V_MEMRAM0 extern V_MEMRAM1 _c_SlaveResp_buf V_MEMRAM2 SlaveResp;
#889383
Nicht wirklich. Hauptsächlich deshalb, weil du beim
abschreiben Fehler gemacht hast :-)

Aber ganz im Ernst, so schwer ist das wirklich nicht.

#define xyz abc

legt fest, dass in Folge der Text 'xyz' durch den Text 'abc'
zu ersetzen ist. ('abc' kann durchaus auch ein leerer Text
sein, so wie in
#define xyz
Damit teilt man dem Präprozessor mit, er möge den Text xyz durch
einen leeren Text ersetzen. Aus
#dfine xyz
xyz int MyVar;
wird so der Programmtext
int MyVar;
)

Mittels

#ifdef abc
   .... mach was
#endif

kann man auch Abfragen darüber machen, ob eine Textersetzung für den
Text 'abc' definiert wurde. Nur dann wenn es eine solche Textersetzung
gibt, wird der Teil .... mach was in den Programmtext inkludiert.

Jetzt kannst du dir selbst zusammenreimen, was der ursprüngliche
(richtige) Programmcode in deinem Programm macht.

Im übrigen empfehle ich das Studium eines C-Grundlagenbuches.
Eine Sprache wie C kann man nicht durch Versuch und Irrtum
erlernen und ein Forum ist nun mal kein Ersatz für fehlende
Literatur, in der die Kentnisse systematisch und vollständig
aufgebaut werden.

http://www.mikrocontroller.net/articles/C-Pr%C3%A4prozessor

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.