Forum: Compiler & IDEs Slash/Backslash bei #include "..\Dir\File.h"


von photon (Gast)


Lesenswert?

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 ?

von g457 (Gast)


Lesenswert?

> Gibt's noch ne elegantere Möglichkeit, als alle Files der Bibliothek zu
> editieren ?

..noch eleganter?? sed regelt.

von Johann L. (gjlayde) Benutzerseite


Lesenswert?

Was ist elegenter als korrekter Quellcode?

von g457 (Gast)


Lesenswert?

> Was ist elegenter als korrekter Quellcode?

Den kaputten Quellcode mit einem Einzeiler korrigieren.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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.

von B. S. (bestucki)


Lesenswert?

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. [...]

von Lukas K. (carrotindustries)


Lesenswert?


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.