Вопросы с тегом «stringification»


4
Прагма в макросе определения
Есть ли способ встроить оператор прагмы в макрос с другими операторами? Я пытаюсь добиться чего-то вроде: #define DEFINE_DELETE_OBJECT(type) \ void delete_ ## type_(int handle); \ void delete_ ## type(int handle); \ #pragma weak delete_ ## type_ = delete_ ## type Я согласен с решениями по усилению (за исключением волны), если …

3
Объединить int в строку с помощью препроцессора C
Я пытаюсь понять, как я могу объединить #define'd int в #define' d строку с помощью препроцессора C. Мой компилятор - GCC 4.1 для CentOS 5. Решение также должно работать для MinGW. Я хотел бы добавить номер версии к строке, но единственный способ заставить его работать - это сделать копию номера …

13
Какие применения оператора препроцессора ## и какие ошибки следует учитывать?
Как упоминалось во многих моих предыдущих вопросах, я работаю через K&R, а сейчас занимаюсь препроцессором. Одна из наиболее интересных вещей - чего я никогда раньше не знал из своих предыдущих попыток изучить C - это ##оператор препроцессора. Согласно K&R: Оператор препроцессора ## предоставляет способ объединения фактических аргументов во время раскрытия …

2
Как именно работает трюк с двойной строкой?
По крайней мере, некоторые препроцессоры C позволяют вам преобразовать значение макроса в строку, а не его имя, передав его через один функционально-подобный макрос другому, который преобразовывает его в строку: #define STR1(x) #x #define STR2(x) STR1(x) #define THE_ANSWER 42 #define THE_ANSWER_STR STR2(THE_ANSWER) /* "42" */ Примеры использования здесь . Это работает, …
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.