Можно ли использовать здесь строковый макрос?
Используя Pelles C, я хотел бы показать или записать массив без знака. Можно ли использовать макрос stringize для отображения всего массива в виде шестнадцатеричных значений вместо итерации по массиву с printf(%x)
?
2 ответа
Стрификация заключает только указанные параметры в двойные кавычки.
К сожалению, вы не можете. Стрификация может преобразовывать ваши идентификаторы в строки, но не наоборот. Кроме того, он ничего не может сделать со значением, которое содержит переменная (ни для чтения, ни для записи), поскольку значения могут быть определены во время выполнения, а макросы расширяются во время компиляции.
На самом деле, я думаю, что уловки препроцессора, такие как #
а также ##
следует избегать, если это возможно, потому что они значительно снижают читаемость. #include
, #define
а также #if
достаточно для большей части времени.