2017-07-11 31 views
1

Wenn irgendein Stück Codes da ich diese „Erklärung“ sah - soweit ich das verstehen kann, ist eine Erklärung - bei /drivers/base/cpu.c im Kernel:Wie wird dieser C-Deklarationscode verstanden?

static CLASS_ATTR(probe, S_IWUSR, NULL, cpu_probe_store); 

Die Datei in C/C++ cpu ist geschrieben. c aber mit meinen begrenzten Kenntnissen von C/C++ habe ich keine Ahnung was die Bedeutung dieser "Deklarations" -Linie ist. Keine Notwendigkeit, über die tatsächliche Bedeutung von Parametern in dieser Datei zu erklären, wenn möglich, zeigen Sie mir einfach die Rollendefinition dieser "Deklaration".

+4

* aber mit meinen begrenzten Kenntnissen in C/C++ *, hat jede Person, die Sie hier treffen, um ohne Kenntnis von C begrenzt/C++, weil die Sprache nicht existiert. Es ist entweder C oder C++. –

+1

aber ich denke, @AjayBrahmakshatriya sollten wir anfangen, Leute über 'c/C++' zu unterrichten, nur um sich davon fern zu halten, weil, es 'UB. :) –

+1

@SouravGhosh wäre es schön, ein Buch mit dem Titel "Leitfaden für die Verwendung von C/C++" zu haben und darin die erste Seite sagt nur - Es existiert nicht. Ende. :) –

Antwort

4

Offensichtlich CLASS_ATTR ist ein Makro. Diese Makros sind mit der Definition auf der von Ihnen geposteten Website gut verknüpft. Klicken Sie einfach auf den Namen, folgen Sie dem Suchergebnis, besonders in den Header-Dateien finden Sie die Definition.

CLASS_ATTR

__ATTR

+0

Vielen Dank! –

+0

Lieber Definitionen in der Antwort bereitstellen. Links könnten weg sein. – 0andriy