Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podczas pisania dyrektyw preprocesora GDL należy stosować następujące wskazówki:
Aby zapobiec niezamierzonym konsekwencjom, autorzy plików GDL powinni przestrzegać poniższych wytycznych podczas definiowania symboli i prefiksów preprocesora.
Nigdy nie należy definiować żadnego symbolu, który nie został jawnie zdefiniowany w pliku, a przed zakończeniem pliku zawsze niezdefiniuj dowolny symbol zdefiniowany w pliku. Innemi słowy, zawsze pozostaw symbol i stosy prefiksów w stanie, w jakim je znalazłeś. Jeśli te wytyczne są przestrzegane, nigdy nie wystąpią kolizje przestrzeni nazw, które obejmują preprocesor.
Interfejs analizatora GDL umożliwi klientowi wstrzyknięcie dowolnego fragmentu tekstu GDL, który zostanie przetworzony przed głównym plikiem GDL. Ta szansa umożliwi klientom zdefiniowanie dowolnych symboli preprocesora, które są potrzebne, aby analizator przetwarzał odpowiednie sekcje pliku GDL. Ten fragment może zawierać inne standardowe szablony GDL lub zdefiniować makra standardowe.
Uwaga Kiedy plik jest dołączany w linii, wszystkie symbole preprocesora i prefiksy zdefiniowane na hoście pozostają zdefiniowane w trakcie wstępnego przetwarzania dołączonego pliku. Gdy plik jest przetwarzany jako wstępnie skompilowany, tworzone jest całkowicie nowe środowisko analizy. W związku z tym wszystkie symbole i prefiksy są zwracane do ich wartości domyślnych. Pliki, które będą przetwarzane jako wstępnie skompilowane, nie powinny mieć żadnych zależności od symboli preprocesora zdefiniowanych zewnętrznie lub w plikach hosta.
Uwaga Dyrektywy preprocesora i makra nie wpływają na konstrukcje switch/case, ponieważ dyrektywy są przetwarzane oddzielnie przed jakimikolwiek konstrukcjami switch/case.
Operatory logiczne nie są obsługiwane w dyrektywach preprocesora języka GDL. Aby uzyskać więcej informacji na temat rozwiązywania tej sytuacji, zobacz Problemy z operatorami logicznymi w przetwarzaniu wstępnego języka GDL.