Можно ли использовать здесь строковый макрос?

Используя Pelles C, я хотел бы показать или записать массив без знака. Можно ли использовать макрос stringize для отображения всего массива в виде шестнадцатеричных значений вместо итерации по массиву с printf(%x)?

2 ответа

Стрификация заключает только указанные параметры в двойные кавычки.

К сожалению, вы не можете. Стрификация может преобразовывать ваши идентификаторы в строки, но не наоборот. Кроме того, он ничего не может сделать со значением, которое содержит переменная (ни для чтения, ни для записи), поскольку значения могут быть определены во время выполнения, а макросы расширяются во время компиляции.

На самом деле, я думаю, что уловки препроцессора, такие как # а также ## следует избегать, если это возможно, потому что они значительно снижают читаемость. #include, #define а также #if достаточно для большей части времени.

Другие вопросы по тегам