Articles of preprocessore

Confuso sull’espansione della macro C e sull’aritmetica dei numeri interi

Possibile duplicato: Un indovinello (in C) Ho un paio di domande riguardo il seguente frammento: #include #define TOTAL_ELEMENTS (sizeof(array) / sizeof(array[0])) int array[] = {23,34,12,17,204,99,16}; int main() { int d; for(d=-1;d <= (TOTAL_ELEMENTS-2);d++) printf("%d\n",array[d+1]); return 0; } Qui l’output del codice non stampa gli elementi dell’array come previsto. Ma quando aggiungo un typecast di (int) […]

C’è un modo per fare un #define all’interno di un altro #define?

So che sto cercando di spararmi a una gamba;) Tuttavia, mi consentirà di rendere il resto (grande quantità) di codice più piccolo e più leggibile. C’è qualche modo complicato per creare macro preprocessore all’interno di un’altra macro di preprocessore? Ecco l’esempio, quello che sto cercando. Il mio scenario reale è più complesso // That’s what […]

Macro per concatenare due stringhe in C

Sto provando a definire una macro che suppone prendere 2 valori di stringa e restituirli concatenati con uno spazio tra loro. Sembra che io possa usare qualsiasi personaggio che voglio oltre allo spazio, ad esempio: #define conc(str1,str2) #str1 ## #str2 #define space_conc(str1,str2) conc(str1,-) ## #str2 space_conc(idan,oop); space_conc restituirebbe “idan-oop” Voglio qualcosa da restituire “idan oop”, […]

A cosa servono le macro C?

Ho scritto un po ‘di C , e posso leggerlo abbastanza bene da avere un’idea generale di quello che sta facendo, ma ogni volta che ho incontrato una macro mi ha buttato completamente. Finisco per dover ricordare che cos’è la macro e sostituirla nella mia testa mentre leggo. Quelli che ho incontrato che erano intuitivi […]

Modifica di una macro in fase di esecuzione in C

Ho una macro definita. Ma ho bisogno di cambiare questo valore in fase di esecuzione a seconda di una condizione. Come posso implementarlo?

Swift: come usare PREPROCESSOR Flags (come `#if DEBUG`) per implementare le chiavi API?

In Objective-C è stato talvolta utile utilizzare costanti di stringa statiche per definire chiavi API alternative (ad esempio per distinguere tra le chiavi RELEASE e DEBUG per i pacchetti di analisi, come MixPanel, Flurry o Crashlytics): #if DEBUG static NSString *const API_KEY = @”KEY_A”; #else static NSString *const API_KEY = @”KEY_B”; #endif e poi… [Analytics […]

C ++ # include semantica

Questa è una domanda multipla per le stesse istruzioni di pre-elaborazione. 1 – o “”? Oltre alle informazioni trovate nel MSDN: #include Directive (C-C ++) 1.a: quali sono le differenze tra le due notazioni? 1.b: Tutti i compilatori li implementano allo stesso modo? 1.c: Quando useresti il ​​, e quando useresti il ​​”” (cioè quali […]

Utilizzo delle direttive del preprocessore nel plugin JDE per Eclipse?

Come utilizzare le direttive del preprocessore nel plugin JDE per Eclipse?

Qual è la differenza tra WIN32 e _WIN32 definisce in C ++

So che WIN32 è ovviamente per indicare la compilazione win32, ma qual è la necessità di _WIN32 ?

Vedere macro C espanse

Se voglio espandere una macro C, quali sono alcuni buoni modi per farlo (oltre a tracciarlo manualmente)? Ad esempio, GTK_WIDGET_SET_FLAGS , utilizza una macro che utilizza una macro che utilizza una macro (o due) … Voglio vederlo in qualche modo espanso automaticamente, invece di cercare ogni macro, in ogni fase del percorso. AGGIORNARE Ho provato […]