2014-11-26 12 views
6

In base a GCC's own documentation on variable attributes, la sintassi corretta per la dichiarazione di un attributo inutilizzato è __attribute__((unused)).GCC: "__unused__" vs solo "non utilizzato" negli attributi variabili

Tuttavia, in molti esempi e altri codici online, vedo spesso __attribute__((__unused__)), e sembrano funzionare entrambi.

C'è un motivo per specificare o omettere lo __ in entrambi i casi? Fa alcuna differenza, e c'è una versione preferita? Ci sono situazioni in cui l'utilizzo di uno e non dell'altro potrebbe causare problemi?

Presumibilmente lo stesso vale anche per altri parametri di attributo?

risposta

11

In cima the very page you linked, ti dice:

Si può anche specificare gli attributi con ‘__’ che precedono e seguono ogni parola chiave. Ciò consente di utilizzarli nei file di intestazione senza che si preoccupi di una possibile macro con lo stesso nome. Ad esempio, è possibile utilizzare __aligned__ anziché aligned.

Gli identificativi contenenti caratteri di sottolineatura doppia (__) sono riservati all'implementazione. Quindi nessun programma utente potrebbe definirli legalmente come macro.

Problemi correlati