Hallo, hab Linux und will das STM32F429-Disco Board zum Laufen bekommen. In den STM32Cube Treibern und Beispielen sind einige #include "..\Component\xx\file.h" drin. Die Backslashs werden aber unter Linux nicht erkannt. Gibt's noch ne elegantere Möglichkeit, als alle Files der Bibliothek zu editieren ?
> Gibt's noch ne elegantere Möglichkeit, als alle Files der Bibliothek zu > editieren ? ..noch eleganter?? sed regelt.
> Was ist elegenter als korrekter Quellcode?
Den kaputten Quellcode mit einem Einzeiler korrigieren.
photon schrieb: > Die Backslashs werden aber unter Linux nicht erkannt. Doch, du kannst Dateinamen mit Backslashes anlegen. ;-) Die Vorwärtsstriche sind unter DOS und seinen Nachfolgern problemlos nutzbar (außer bei cmd.exe), schon daher gibt es gar keinen Grund, bei #include überhaupt jemals Rückwärtsstriche zu benutzen.
Jörg Wunsch schrieb: > schon daher gibt es gar keinen Grund, > bei #include überhaupt jemals Rückwärtsstriche zu benutzen Genau. K&R sagt, dass Rückwärtsstriche im Zusammenhang mit #include zu undefiniertem Verhalten führen (können). (2.Auflage, Kapitel A12.4):
1 | A control line of the form |
2 | #include <filename> |
3 | [...] The characters in the name filename must not include > or newline, |
4 | and the effect is undefined if it contains any of ", ', \, or /*. [...] |
5 | Similary, a control line of the form |
6 | #include "filename" |
7 | [...] The effect of using ', \, or /* in the filename remains undefined, |
8 | but > is permitted. [...] |
Ich hatte das Problem auch und hab's gerade mal in die "e2e-Community" von ST eingeworfen, vielleicht hilft's ja... https://my.st.com/public/STe2ecommunities/mcu/Lists/STM32Java/Flat.aspx?RootFolder=%2fpublic%2fSTe2ecommunities%2fmcu%2fLists%2fSTM32Java%2fBackslashes%20in%20F429DISCO%20BSP&FolderCTID=0x01200200770978C69A1141439FE559EB459D758000F9A0E3A95BA69146A17C2E80209ADC21&TopicsView=https%3A%2F%2Fmy.st.com%2Fpublic%2FSTe2ecommunities%2Fmcu%2FLists%2FSTM32Java%2FAllItems.aspx¤tviews=0
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.