STM32 und C++ mit Lib

OP #3094757
Lesenswert?
• ▲
▼
Hallo miteinander

Ich habe eine kleine Frage:
ST bietet die sehr bequemen stdPeriph_Lib an, welche ich auch gedenke zu 
nutzen. Diese sind, so wie auch der Rest in C geschrieben. Ist es jetzt 
möglich, das eigentliche Projekt auf C++ zu machen, und die Lib ohne 
grosse Änderungen einzubinden und anzusprechen?
Oder muss ich um jedes File einen Wrapper bauen, was einen imensen 
Arbeitsaufwand bedeutet?

Die Frage stellte sich bei einem Projekt. Ich soll ein Framework 
schreiben, welches sehr einfach portierbar ist (also von ARM zu ARM, zu 
FGPA, zu MultiCore-CPU...), damit möglichst überall das gleiche 
verwendet werden kann.

Besten Dank für die Antwort
MFG
Patrick
Persönliche Seite #3095128
Lesenswert?
• ▲
▼
Die die C-Funktionen beschreibende Headerdatei muss "C++"-sicher gemacht 
werden, das geht so
1
#ifdef __cplusplus
2
extern "C"
3
{
4
#endif
5

6
... hier jetzt der Kram, der in der Headerdatei drinsteht
7

8
#ifdef __cplusplus
9
}
10
#endif

Damit ist alles, was in der Headerdatei steht, als extern "C" 
deklariert, was das name-mangling abschaltet, so daß das Linken korrekt 
funktioniert.

Die Library selbst muss nicht angefasst werden.

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.