У меня есть несколько применений одного типа отладочной инструкции в моем коде - скажем DEBUG("abcd");
или DEBUG("abc %d def", val)
, которые переводятся и печатаются в файл.Использование макросов для преобразования заявлений печати
Теперь же я хочу, чтобы преобразовать их все в другой тип протоколирования, который необходимо использовать функцию с декларацией, как -
WRITE(char *string);
Использование: WRITE(L"abcd")
и т.д .. Поскольку использование этого отладочного утверждения Огромный, я надеюсь использовать макросы, чтобы конвертировать то же самое. Это можно сделать; также учитывая, что функция DEBUG
используется для определения спецификаторов формата?
вопрос немного запутанный. Можете ли вы дать нам пример того, чего вы пытаетесь достичь? –
Ok Мне нужно преобразовать операторы Debug() в операторы Write(). Потому что использование операторов Debug огромно; Я хочу использовать макрос для преобразования всего за один раз. Debug() принимает строку в качестве входных данных, также с помощью спецификаторов формата. Я ищу, чтобы иметь возможность конвертировать то же самое в одну строку, которую нужно использовать Write(). Также есть элемент unicode/ansi, для которого мне нужно использовать L "" в моей функции Write. Пытается что-то вроде - #define DEBUG (string) WRITE (L "string") не будет работать для тех, у которых есть спецификаторы формата. – ArunR
конвертировать на уровне кода? –