Hallöchen, Was genau bewirkt das ->
1 | extern "C" void SysTick_Handler(void) |
2 | {
|
3 | //leer
|
4 | }
|
Vielen Dank.
|
|
Forum: Mikrocontroller und Digitale Elektronik Frage zum "C" SyntaxHallöchen, Was genau bewirkt das ->
Vielen Dank. Das sagt dem C++-Compiler, dass diese Funktion wie ein C-Funktion zu behandeln ist (d.h. kein Name Mangling). Siehe: https://isocpp.org/wiki/faq/mixing-c-and-cpp und da speziell: https://isocpp.org/wiki/faq/mixing-c-and-cpp#call-c Richard B. schrieb: > extern "C" void SysTick_Handler(void) > { > //leer > } Es erzwingt "C" Funktionsaufruf in C++ Code. Ohne dem würde der Aufruf aus Assembler Ebene anders aussehen und der Eintrag in der Vektor Tabelle nicht funktionieren. Das ist eine beliebte Falle wenn man ein *.c file nach *.cpp umbenennt - dann wird es nämlich als C++ übersetzt. Richard B. schrieb: > extern "C" void SysTick_Handler(void) Die Linkage des folgenden Symbols (SysTick_Handler) entspricht der Linkage in C. Die FUnktion selbst wird aber wie eine "normale" C++ Funktion behandelt. Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.
|
|