Ich bin sehr neu im Linux-Kernel. Und ich verwende das Sparse-Tool, um das Rauschen im Code zu entfernen. Ich habe diese Makros gefunden:
%Vor%Und jetzt möchte ich wissen: Wie werden sie von sparse verwendet, um die Fehler / Warnung zu melden?
Meine Fragen:
Ich denke, all diese Makros haben nur Bedeutung im Kontext von sparse (manpages hier - Sie können die Beschreibungen aller dieser Attribute und spärliche Warnungen dort finden). Wenn Sie oben in der kopierten Quelldatei nachsehen, wird ein großes Makro __CHECKER__
verwendet, um sie zu aktivieren.
Ich bin mir nicht sicher, ob gcc irgendetwas mit ihnen an dieser Stelle macht - ich denke, es ignoriert sie stillschweigend ... In einer seiner E-Mails im Jahr 2004 sagte Linus Torvalds:
Dies ist wichtig zu erinnern: Für gcc sind die spärlichen Annotationen bedeutungslos. Sie können immer noch nützlich sein, nur um den Programmierer zu informieren "Hey, der Zeiger, den du bekommen hast, war kein normaler Zeiger" lesbare Weise, aber am Ende, wenn Sie spärlich verwenden, tun sie es nicht eigentlich tue irgendetwas.
Es sind einige Tickets für diesen Zweck geöffnet - Ссылка .
Tags und Links macros c gcc linux gcc-warning