Direttiva #PreCompiled preprocessore
#PreCompiled: BOOL
La direttiva #PreCompiled specifica se un file di origine è precompilato.
Se BOOL è TRUE, si presuppone che il file di origine sia precompilato. In caso contrario, se viene fatto riferimento al file di origine tramite una direttiva #Include , il file viene incluso nella riga.
La direttiva #PreCompiled deve essere visualizzata prima di qualsiasi direttiva #Include all'interno di un file di origine GDL; in caso contrario, viene ignorato. Il valore BOOL è obbligatorio.
I file contrassegnati come precompilati verranno analizzati in un contesto radice. Ovvero, tutti i contesti stabiliti dall'host o inclusi i file GDL andranno persi. Ad esempio, se i simboli del preprocessore definito dal file GDL host prima di includere il file precompilato, tali simboli non esistono quando il file precompilato viene analizzato. Questo tipo di analisi garantisce che non sia possibile creare più versioni di un file precompilato usando blocchi #Ifdef e avere host diversi definiscono simboli diversi per accedere ai vari blocchi di #Ifdef. Poiché il file precompilato non viene mai analizzato nuovamente, sarà presente una sola versione univoca. Pertanto, il writer di un file precompilato non deve basarsi su alcun simbolo del preprocessore definito esternamente.
Si noti anche che i file precompilati devono essere univoci e devono essere indipendenti dall'host che li include. I file precompilati non si basano su contenuto incluso a cui fa riferimento il file host o a qualsiasi contenuto che potrebbe essere definito nel file host.
Questa direttiva del preprocessore è una novità per GDL.