Вопросы по теме 'stringification'
Различия в операторе конкатенации Macro ## между Visual-C++ и gcc
У меня есть такой макрос (не совсем, но функция вполне эквивалентна):
#define STRUCTMEMBER(Member,Value) GlobalStructInstance. ## Member = Value
...
STRUCTMEMBER(Item,1);
Это отлично работает в Visual C++, но gcc 3.4.5 (MingGW) выдает...
7914 просмотров
schedule
04.06.2023
Что означает ## для препроцессора C(C++)?
У меня есть программа C ниже:
#define f(g,g2) g##g2
main()
{
int var12=100;
printf("%d",f(var,12));
}
когда я запускаю только препроцессор, он расширяет это как
{
int var12=100;
printf("%d",var12);
}
вот почему вывод равен 100....
11949 просмотров
schedule
16.02.2023
Почему препроцессор дает пробел?
Я хочу прокомментировать строку с помощью препроцессора:
#define open /##*
#define close */
main()
{
open commented line close
}
когда я сделаю $gcc -E filename.c я ожидал
/* commented line */
но я получил
/ *...
224 просмотров
schedule
22.09.2023
Аргумент, которому предшествует токен # в макросе
#define LINK_ENTITY_TO_CLASS(mapClassName,DLLClassName) \
static CEntityFactory<DLLClassName> mapClassName( #mapClassName );
Это макрос из мода Alien Swarm для Half-Life 2, предназначенный для компиляции с помощью MSVC.
Я никогда...
294 просмотров
schedule
12.08.2022
Недопустимые макросы потока символов
Следующий макрос препроцессора:
#define _VARIANT_BOOL /##/
на самом деле недействителен C ; грубо говоря, причина в том, что препроцессор определен как работающий с потоком токенов, тогда как вышеприведенное предполагает, что он работает с...
132 просмотров
schedule
09.10.2022
Препроцессор C: строковый макрос и макрос идентификации
Я хочу знать причину вывода этого кода. Я не мог придумать ответа.
#define f(a,b) a##b
#define g(a) #a
#define h(a) g(a)
void main()
{
printf("%s %s",h(f(1,2)),g(f(1,2)));
}
PS: вывод 12 f(1,2) . Я думал, что это 12 12 или f(1,2)...
2179 просмотров
schedule
01.08.2023
JSONValue в строку с отступом
В Delphi XE2 мне нужно создать функцию, которая получает JSONValue и возвращает String с отступом, как JSONLint . Это JSONValue может быть любым типом JSON, может быть массивом, объектом, даже просто строкой, поэтому я должен убедиться, что эта...
1945 просмотров
schedule
09.07.2023
Предварительный процесс Stringify C
Это мой первый пост, поэтому, если я слишком расплывчат или даю информацию, которую все интуитивно предполагают, пожалуйста, дайте мне знать.
Я новичок в написании на C и просто пытаюсь лучше понять предварительную обработку. Я пишу простую...
2491 просмотров
schedule
07.01.2023
Как выполнить расчет в препроцессоре со строкой в C
Возможный дубликат: Как преобразовать выражение в строку в С
Я надеюсь, что я могу найти какое-то решение моей проблемы здесь.
Я хочу добавить шестнадцатеричные числа, определенные в ADD1, и мне нужно поместить их в *str в...
534 просмотров
schedule
26.07.2022
Создание списка строковых аргументов макроса с вариативными параметрами и поздними расширениями
У меня следующая проблема - задано переменное количество аргументов макроса argX для создания списка строковых аргументов #argX
Пример:
LIST(A, B) -> "A", "B"
LIST(A, B, C) -> "A", "B", "C"
Я использую Boost, поэтому приведенный выше...
209 просмотров
schedule
12.11.2022
Макрос Stringify с GNU gfortran
Как я могу преобразовать макрос препроцессора в строку с помощью GNU gfortran? Я хотел бы передать определение макроса в GNU gfortran, которое затем будет использоваться как строка в коде.
Фактически я хотел бы сделать это:
program test...
1562 просмотров
schedule
17.10.2022
Изменение кода на стороне хоста для openCL C++ после преобразования кода ядра в строку
Я работаю над проектом, в котором использую привязки openCL C++. У меня есть файл kernel.cl, который читается со стороны хоста, загружается и выполняется. Но теперь я хочу встроить его в свой файл .cpp, чтобы я мог распространять двоичный файл без...
236 просмотров
schedule
04.02.2024