Pytania otagowane jako stringification


4
Pragma w definiowaniu makra
Czy istnieje sposób osadzenia instrukcji pragmy w makrze z innymi instrukcjami? Próbuję osiągnąć coś takiego: #define DEFINE_DELETE_OBJECT(type) \ void delete_ ## type_(int handle); \ void delete_ ## type(int handle); \ #pragma weak delete_ ## type_ = delete_ ## type Nie ma problemu z rozwiązaniami doładowania (z wyjątkiem fali), jeśli takie …


13
Jakie są zastosowania operatora preprocesora ## i jakie rozwiązania należy wziąć pod uwagę?
Jak wspomniano w wielu moich poprzednich pytaniach, pracuję przez K&R i obecnie używam preprocesora. Jedną z bardziej interesujących rzeczy - czymś, czego nigdy wcześniej nie wiedziałem z żadnej z moich poprzednich prób nauki C - jest ##operator preprocesora. Według K&R: Operator preprocesora ## umożliwia konkatenację rzeczywistych argumentów podczas rozwijania makr. …

2
Jak dokładnie działa sztuczka z podwójnym naciągiem?
Przynajmniej niektóre preprocesory języka C pozwalają na zdefiniowanie wartości makra, a nie jego nazwy, poprzez przekazanie go przez jedno makro podobne do funkcji do drugiego, które je określa: #define STR1(x) #x #define STR2(x) STR1(x) #define THE_ANSWER 42 #define THE_ANSWER_STR STR2(THE_ANSWER) /* "42" */ Przykładowe przypadki użycia tutaj . To działa, …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.