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) […]
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 […]
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”, […]
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 […]
Ho una macro definita. Ma ho bisogno di cambiare questo valore in fase di esecuzione a seconda di una condizione. Come posso implementarlo?
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 […]
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 […]
Come utilizzare le direttive del preprocessore nel plugin JDE per Eclipse?
So che WIN32 è ovviamente per indicare la compilazione win32, ma qual è la necessità di _WIN32 ?
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 […]