дано:
#define __drv_out(annotes) __post __$drv_group(##__drv_nop(annotes))
макрос используется например из етого места
SDK v7.0A winnt.h
typedef
__drv_sameIRQL
__drv_functionClass(EXCEPTION_ROUTINE)
EXCEPTION_DISPOSITION
NTAPI
EXCEPTION_ROUTINE (
__inout struct _EXCEPTION_RECORD *ExceptionRecord,
__in PVOID EstablisherFrame,
__inout struct _CONTEXT *ContextRecord,
__in PVOID DispatcherContext
);
вопрос:
что сделает первее pp msvc — раскроет макрос __drv_nop или выполнит склеивание? По стандарту, должно производиться склеивание. Склеивание выдает токен
(__drv_nop который является некорректным.