b'\n_START_ARTICLE_\nDirettiva (programmazione)\n_START_SECTION_\nDebugging\n_START_PARAGRAPH_\nTramite le direttive di compilazione, \xc3\xa8 possibile attivare o disattivare tutte le funzionalit\xc3\xa0 di debugging all\'interno di un programma o di un modulo (ad esempio una classe) semplicemente definendo un valore per una direttiva piuttosto che un altro.\n_START_SECTION_\nPerformance\n_START_PARAGRAPH_\nLe direttive di compilazione consentono di non compilare parti di codice che, ad esempio, non vengono mai utilizzate in un programma. In questo modo, all\'avvio verr\xc3\xa0 risparmiata memoria inutilmente allocata. Un altro esempio \xc3\xa8 che \xc3\xa8 possibile informare il compilatore sul tipo di computer di destinazione per il programma; in tal modo, esso pu\xc3\xb2 trasformare il codice utilizzando istruzioni specifiche per il tipo di processore indicato, aumentando notevolmente le performance del programma in fase di esecuzione.\n_START_SECTION_\nSelezione di funzionalit\xc3\xa0\n_START_PARAGRAPH_\nInoltre, utilizzando le direttive di compilazione opportune \xc3\xa8 possibile in molti linguaggi far s\xc3\xac che il compilatore compili solo le funzionalit\xc3\xa0 desiderate. Ad esempio, \xc3\xa8 possibile creare facilmente pi\xc3\xb9 versioni di uno stesso programma - ad esempio, Basic, Home e Professional - ognuna con funzionalit\xc3\xa0 ben determinate e caratteristiche di tale versione.\n_START_SECTION_\nLinguaggio assembly\n_START_PARAGRAPH_\nNel linguaggio assembly, le direttive generalmente specificano l\'informazione della piattaforma target, specificano le separazioni tra le sezioni, e cos\xc3\xac via. Ad esempio, la direttiva "ALIGN" inserisce nella sezione corrente tanti byte quanti sono richiesti per preservare l\'allineamento a livello di word.\n_START_SECTION_\nC / C++\n_START_PARAGRAPH_\nNel linguaggio C e nel C++ le direttive di compilazione vengono espresse da determinate istruzioni poste su righe di codice che comincino con un simbolo cancelletto "#" (ad esempio: #define e #include) e sono eseguite da un preprocessore._NEWLINE_I costrutti sintattici simili alle direttive del preprocessore C, quali la direttiva #if del C#, sono chiamati anch\'essi "direttive", sebbene in alcuni casi non riguardino la vera e propria fase di preprocessamento.\n_START_SECTION_\nJava\n_START_PARAGRAPH_\nIn Java non esistono vere e proprie direttive di compilazione. L\'unica cosa che "assomigli" ad esse \xc3\xa8 la seguente: \xc3\xa8 possibile evitare che il compilatore compili parti di codice all\'interno di un metodo tramite l\'uso di un blocco if che utilizzi come condizione una compile-time constant (si rimanda alle specifiche di linguaggio Java). In genere tale costante viene definita come un campo private static final, ad esempio private static final boolean _DEBUG.\n_START_SECTION_\nVisualBasic\n_START_PARAGRAPH_\nAlcune versioni di questo linguaggio (Microsoft Visual Basic 6.0) supportano le direttive di compilazione. Le righe cominciano, come il C/C++, con il simbolo cancelletto ("#"). Esempio di compilazione condizionale:_NEWLINE_#if DEBUG_VAR then \'istruzioni'