Domande taggate «c-preprocessor»

Un macro processore testuale applicato prima di compilare programmi in linguaggio C e C ++. Questo tag può essere utilizzato anche per domande su altri compilatori / linguaggi derivati ​​da o che hanno caratteristiche identiche, come #directives in Objective-C o C #.

8
Sovraccarico di macro sul numero di argomenti
Ho due macro FOO2e FOO3: #define FOO2(x,y) ... #define FOO3(x,y,z) ... Voglio definire una nuova macro FOOcome segue: #define FOO(x,y) FOO2(x,y) #define FOO(x,y,z) FOO3(x,y,z) Ma questo non funziona perché le macro non sovraccaricano il numero di argomenti. Senza modificare FOO2e FOO3, c'è un modo per definire una macro FOO(usando __VA_ARGS__o …
184 c  macros  c-preprocessor 

30
Quando sono utili le macro C ++? [chiuso]
Chiuso . Questa domanda deve essere più focalizzata . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che si concentri su un problema solo modificando questo post . Chiuso 2 anni fa . Migliora questa domanda Il preprocessore C è giustamente temuto e evitato …



6
Utilizzo di __FILE__, __LINE__ e __FUNCTION__ in C ++
Supponendo che il compilatore C ++ li supporti, esiste qualche motivo particolare per non utilizzarlo__FILE__ , __LINE__e __FUNCTION__per la registrazione e il debugging? Mi occupo principalmente di fornire all'utente dati fuorvianti, ad esempio riportare un numero di riga errato o una funzione come risultato dell'ottimizzazione, o subire un calo delle …


10
Alternativa standard al trucco ## __ VA_ARGS__ di GCC?
Esiste un problema ben noto con argomenti vuoti per le macro variadiche in C99. esempio: #define FOO(...) printf(__VA_ARGS__) #define BAR(fmt, ...) printf(fmt, __VA_ARGS__) FOO("this works fine"); BAR("this breaks!"); L'uso di cui BAR()sopra è in effetti errato secondo lo standard C99, poiché si espanderà a: printf("this breaks!",); Nota la virgola finale …


17
"#Include" un file di testo in un programma C come char []
C'è un modo per includere un intero file di testo come stringa in un programma C in fase di compilazione? qualcosa di simile a: file.txt: This is a little text file main.c: #include <stdio.h> int main(void) { #blackmagicinclude("file.txt", content) /* equiv: char[] content = "This is\na little\ntext file"; */ printf("%s", …

15
Dovrei usare #define, enum o const?
In un progetto C ++ su cui sto lavorando, ho un tipo di flag di valore che può avere quattro valori. Queste quattro bandiere possono essere combinate. I flag descrivono i record nel database e possono essere: nuovo record record cancellato record modificato record esistente Ora, per ogni record desidero …






Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.