\ Zeichen in *.h Datei



  • Hallo zusammen, was macht der Backslash dort? Zeigt er nur einen Zeilenumbruch an? Würde das auch ohne gehen?

    #define HOST_GET_DESCRIPTOR(descType, descIndex, data, length) \
    Host_CtrlRecv(USB_DEVICE_TO_HOST | USB_RECIPIENT_DEVICE, GET_DESCRIPTOR, \
    (descType << 8)|(descIndex), 0, length, data)

    Viele Grüße


  • Mod

    Das \-Zeichen zeigt keinen Zeilenumbruch an, sondern im Gegenteil, es macht, dass zwei Zeilen trotz Zeilenumbruch als eine einzige Zeile zählen. Dein Code sieht für den Präprozessor also so aus wie

    #define HOST_GET_DESCRIPTOR(descType, descIndex, data, length) Host_CtrlRecv(USB_DEVICE_TO_HOST | USB_RECIPIENT_DEVICE, GET_DESCRIPTOR, (descType << 8)|(descIndex), 0, length, data)
    

    Das ist für die Zeilenbasierten Präprozessordirektiven natürlich ein gewaltiger Unterschied zu

    #define HOST_GET_DESCRIPTOR(descType, descIndex, data, length) 
    Host_CtrlRecv(USB_DEVICE_TO_HOST | USB_RECIPIENT_DEVICE, GET_DESCRIPTOR, 
    (descType << 8)|(descIndex), 0, length, data)
    

Anmelden zum Antworten