c++ - #ifdef vs#if-che è migliore/più sicuro come metodo per abilitare/disabilitare la compilazione di particolari sezioni di codice?

c++ - #ifdef vs#if-che è migliore/più sicuro come metodo per abilitare/disabilitare la compilazione di particolari sezioni di codice?

Questa potrebbe essere una questione di stile, ma c'è un po 'di divisione nella nostra squadra di sviluppo e mi sono chiesto se qualcun altro avesse qualche idea in merito... Fondamentalmente, ab…


Come controllo OS con una direttiva preprocessore?

Ho bisogno del mio codice per fare cose diverse in base al sistema operativo su cui viene compilato. Sto cercando qualcosa di simile a questo:#ifdef OSisWindows// do Windows-specific stuff#else…


c++ - È possibile utilizzare il preprocessore C per sapere se esiste un file?

Ho un codebase molto grande(leggi: migliaia di moduli) che ha il codice condiviso su numerosi progetti eseguiti tutti su diversi sistemi operativi con diversi compilatori C++. Inutile dire che il…


c++ - msbuild: imposta uno specifico preprocessore#define nella riga di comando

In un file C++, ho un codice come questo:#if ACTIVATE#pragma message( "Activated")#else#pragma message( "Not Activated")#endif Voglio impostare questo ACTIVE define su 1 con la riga d…


Convertire un token del preprocessore in una stringa

Sto cercando un modo per convertire un token del preprocessore in una stringa. In particolare, ho capito da qualche parte:#define MAX_LEN 16 e voglio usarlo per prevenire il sovraccarico del b…


c++ - definizione di macro contenente la direttiva#include

C'è un modo per definire una macro che può contenere la direttiva#include nel suo corpo? Se metto semplicemente "#include ", dà errore C2162: "expected macro formal parametro" dato che qui non…


c++ - Come sapere(in GCC) quando viene dichiarato il simbolo macro/preprocessore?

Supponiamo di avere#define foo in vari file di intestazione. Potrebbe espandersi in alcune cose diverse. Mi piacerebbe sapere(durante la compilazione di un file.cc) quando si incontra un#defin…


È possibile che le macro del preprocessore C contengano le direttive del preprocessore?

Mi piacerebbe fare l'equivalente di quanto segue:#define print_max(TYPE) \#ifdef TYPE##_MAX \ printf("%lld\n", TYPE##_MAX); \#endif print_max(INT); Ora la#ifdef o qualsiasi preproces…


Buone pratiche di programmazione per le definizioni macro(#define) in C

Ad esempio, non definire mai una macro come questa:#define DANGER 60+2 Questo può essere potenzialmente pericoloso quando facciamo un'operazione come questa: int wrong_value=DANGER*2;// Ex…


objective c - Sostituzioni per il preprocessore C

Sono interessato a usare qualcosa di diverso dal preprocessore C per pre-elaborare il mio codice sorgente C e Objective-C. Ci sono buone alternative? Un esempio potrebbe essere qualcosa che ha pe…





define direttive direttiva ifdef ifndef linguaggio include compilazione macro endif