- MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad         
Seite 3 von 3 ErsteErste 123
Ergebnis 21 bis 23 von 23

Thema: Parameter von Funktionen in Funktionen

  1. #21
    Neuer Benutzer Öfters hier
    Registriert seit
    19.07.2009
    Beiträge
    26
    Anzeige

    Powerstation Test
    Das extern sagt dem Compiler, dass es sich hierbei nur um eine Deklaration handelt. Denn ansonsten wäre der Syntax für Deklaration und Definition einer gloaben Variable der gleiche.

    Sobald du eine globale Variable in mehr als einem .c File verwenden willst, musst du die Variable mit extern im .h File Deklarieren und in EINEM C-file definieren.

    Verwendest du die globale Variable aber nur innerhalb einer .c-Datei, dann brauchst du in dem Header File gar nichts machen. Dann reicht die globale Definition in dem C-File in dem du die Variable verwenden willst. Natürlich muss die Definition der Variable in dem C-File dann vor der ersten Verwendung erfolgen

    Ich hoffe ich habe dich jetzt nicht ganz verwirrt?

  2. #22
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.07.2004
    Ort
    Südhessen
    Beiträge
    1.312
    Wenn Du in einem AVR eine CONST verwendest, dann nimm doch gleich #define, das ist unterm Strich egal, da das Const wahrscheinlich wegoptimiert wird. Ein define kann man aber im Header machen, und somit ohne extern usw. überall benutzen.
    #defines werden vom Precompiler in die genutzen Stellen eingesetzt, so dass der Compiler die defines garnicht mehr sieht, sondern nur noch das Eingesetzte.

    Wenn Du unbedingt auf den Typ bestehst, dann Caste es im define:
    Code:
    #define a ((uint8_t)1234)

  3. #23
    Neuer Benutzer Öfters hier
    Registriert seit
    19.07.2009
    Beiträge
    26
    Hmm, dass halte ich für einen nicht ganz so sauberen Weg. Auch wenn das const "Weg-optimiert" wird, so bietet es dem Compiler eine Zusatzinformation über den Typ und kann so die Überprüfungsmöglichkeiten des Compilers erhöhen.

    Bei uns sind z.B. in den Richtlinien für embedded Software Präprozessormakros (da gehören Defines für Konstanten auch dazu) verboten.

    Aber letztendlich ist das ein Thema über das man glaube ich ewig philosophieren kann

Seite 3 von 3 ErsteErste 123

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Labornetzteil AliExpress