¿Puedo usar enumeraciones en mi código de seguimiento?
Puede usar enumeraciones para mostrar términos significativos en los mensajes de seguimiento, en lugar de mostrar valores enteros que los usuarios deben descodificar.
Por ejemplo, defina la enumeración siguiente en el código:
#define SPECIALDAY 0xF0000000
enum _wday {
sunday = 0,
monday = 55,
tuesday = 3,
wednesday = 1 | SPECIALDAY ,
thursday = 7 | SPECIALDAY,
friday = 5,
saturday = 6
};
Para usar la enumeración en los mensajes de seguimiento, agregue los siguientes datos de configuración al archivo de origen. Este código dirige a WPP para extraer la información de símbolos de la enumeración y usar los nombres que ha definido al mostrar el valor registrado de enumeración.
// begin_wpp config
// CUSTOM_TYPE(dayset, ItemEnum(_wday) );
// end_wpp
A continuación, puede usar el tipo personalizado dayset en la cadena de formato de un mensaje de seguimiento. Por ejemplo:
_wday p = wednesday;
DoTraceMessage(NOISE " %!dayset!", p);
Por último, dado que agregó datos de configuración a un archivo que no es de configuración (un archivo distinto de un archivo de .ini), agregue el parámetro -scan a la macro RUN_WPP que invoca el preprocesador wpP. Esto notifica a WPP que busque datos de configuración en el archivo especificado. Por ejemplo:
RUN_WPP -scan:trace.c