Die Direktive #pragma
ist eine implementierungsspezifische Direktive, es ist eine Standardmethode, um dem Compiler zusätzliche Informationen zur Verfügung zu stellen. Diese Anweisung hat die folgende Form:
#pragma name
Wenn der Präprozessor die angegebene „name“ erkennt, führt sie jede Maßnahme sie stehen, oder übergibt Informationen an den Compiler. Wenn "name" von der c-Implementierung nicht unterstützt wird, wird sie ignoriert.
Zum Beispiel GCC-Compiler akzeptieren Sie die Liste der aufgeführten Pragmas here.
Für die #pragma section
, die Dokumentation der gcc gesagt:
Abschnitt ("section-name") Normalerweise wird der Compiler den Code legt es im Textteil erzeugt. Manchmal benötigen Sie jedoch zusätzliche Abschnitte , oder Sie benötigen bestimmte Funktionen, die in speziellen Abschnitten erscheinen. Das Attribut section gibt an, dass eine Funktion in einem bestimmten Abschnitt lebt. Zum Beispiel ist die Erklärung:
extern void foobar (void) __attribute__ ((section ("bar")));
setzt die Funktion foobar
in der Bar Abschnitt.
Einige Dateiformate unterstützen keine beliebigen Abschnitte, daher ist das Attribut nicht auf allen Plattformen verfügbar. Wenn Sie den gesamten Inhalt eines Moduls einem bestimmten Abschnitt zuordnen müssen, sollten Sie stattdessen die Funktionen des Linkers mit verwenden.
Mehr dazu here.
http://stackoverflow.com/questions/9716637/what-is-the-use-of-pragma-code-section-and-data-section – codejammer
Sie können Antwort annehmen, wenn es Ihnen hilft. Auch die zukünftigen Besucher werden davon profitieren. – Jaguar