Compartilhar via


Considerações sobre macro GDL

As macros GDL têm escopo e tempo de vida. As macros só podem ser referenciadas do ponto de definição até o final do nível de aninhamento que contém o constructo de definição de macro.

Uma macro definida no nível raiz tem escopo e tempo de vida ilimitados. Várias macros com o mesmo nome podem ser definidas no mesmo namespace. As definições mais recentes ocultam as definições anteriores. As definições anteriores serão descobertas depois que a definição mais alta expirar.

Se uma definição de macro de bloco usar uma diretiva #Includes para incluir um arquivo pré-compilado, o conteúdo do arquivo não aparecerá na definição de macro porque os arquivos declarados como pré-compilados não são usados em linha, mas se tornam entidades autônomas.

Para compatibilidade com versões anteriores, o suporte ao valor do parâmetro está habilitado para todas as definições de macro de valor.

Uma definição de macro não pode fazer referência a si mesma. No entanto, uma referência de macro pode passar uma referência para si mesma como um parâmetro.

O exemplo de código a seguir mostra como passar uma referência.

*InsertBlock:  Myself(Myself(AnotherMacro))