Macros de Lenguaje [Guía de Usuario de Enterprise Architect]

Top Previous Next

Macros de Lenguaje

button_main button_prev button_next

Al hacer ingeniería inversa de un lenguaje como C++, puede ser que encuentre directivas del preprocesador repartidas por todo el código. Esto puede hacer que la administración de código sea más fácil, pero puede dificultar el análisis sintáctico del lenguaje subyacente en C++.

Para ayudar a arreglar esto, puede incluir cualquier número de definiciones macro, las cuales son ignoradas durante la fase de análisis de la ingeniería inversa. Todavía es preferible, si tiene la funcionalidad, pre-procesar el código utilizando el compilador apropiado primero; de esta manera las definiciones macro complejas y definiciones se expanden y se pueden analizar fácilmente. Si no tiene esta funcionalidad, entonces esta opción proporciona un sustituto conveniente.

Acceso Configuraciones | Macros del Procesador Previo

Definir un macro

Paso

Acción

Ver También

1

Seleccione la opción de menú Macros del Procesador Previo .

Se muestra la ventana de Macros de Lenguaje.

 

 

2

Haga clic en el botón Agregar Nuevo .

 

 

3

Ingrese detalles para su macro.

 

 

4

Haga clic en el botón Aceptar .

 

 

Temas

Tema

Detalle

Ver También

Macros Embebidos Dentro de Declaraciones

Los Macros a veces son utilizados dentro de la declaración de Clases y operaciones, como en los siguientes ejemplos:

class __declspec Foo

{

int __declspec Bar(int p);

};

 

Si declspec se define como un macro C++, como se muestra arriba, la Clase y operación importadas contienen un Valor Etiquetado llamado DeclMacro1 con valor __declspec (los siguientes macros serían definidos como DeclMacro2, DeclMacro3 y así sucesivamente).

Durante la ingeniería directa, estos Valores Etiquetados son utilizados para volver a generar los macros en el código.

 

 

Definir Macros Complejos

A veces es útil definir reglas para macros complejos que pueden abarcar múltiples líneas; Enterprise Architect ignora la sección de código completa definida por la regla.

Tales macros pueden ser definidos en Enterprise Architect como en los siguientes dos ejemplos; ambos tipos pueden ser combinados en una definición.

Bloquear Macros

 

BEGIN_INTERFACE_PART ^ END_INTERFACE_PART

 

El símbolo ^ representa el cuerpo del macro - esto permite saltar de un macro a otro; los espacios que rodean el símbolo^ son necesarios.

Macros de Función

 

RTTI_EMULATION()

 

Enterprise Architect salta el símbolo incluyendo todo lo que está dentro del paréntesis.

 

 

Notas

Puede transportar estas definiciones de macro del lenguaje (o macro preprocesador) entre modelos, utilizando las opciones Exportar Datos de Referencia e Importar Datos de Referencia; los macros son exportados como una Lista de Macros

Aprender más

Exportar Datos de Referencia

Importar Datos de Referencia