Pytania otagowane jako c-preprocessor

Tekstowy procesor makr stosowany przed kompilacją programów w językach C i C ++. Ten tag może być również używany w przypadku pytań dotyczących innych kompilatorów / języków pochodzących z lub mających identyczne funkcje, takie jak #directives w Objective-C lub C #.






4
Łącząc C ++ i C - jak działa #ifdef __cplusplus?
Pracuję nad projektem, który ma dużo starszego kodu C. Zaczęliśmy pisać w C ++ z zamiarem ostatecznej konwersji starszego kodu. Jestem trochę zdezorientowany co do interakcji między C i C ++. Rozumiem, że poprzez owinięcie C kodu z extern "C"C ++ kompilator nie będzie Magiel C pseudonimów, ale nie jestem …

14
MIN i MAX w C
Gdzie są MINi MAXzdefiniowane w C, jeśli w ogóle? Jaki jest najlepszy sposób na ich wdrożenie, tak ogólnie i bezpiecznie, jak to możliwe? (Preferowane są rozszerzenia / wbudowane kompilatory kompilatorów głównego nurtu).
299 c  max  min  c-preprocessor 


6
Preprocesor zrzutu GCC definiuje
На этот вопрос есть ответы на Stack Overflow на русском : Как узнать список всех определённых макросов? Czy istnieje sposób, aby gcc / g ++ zrzucił definicje preprocesora z wiersza poleceń? Mam na myśli takie rzeczy __GNUC__, __STDC__i tak dalej.
248 gcc  g++  c-preprocessor 

11
#pragma efekt paczki
Zastanawiałem się, czy ktoś mógłby mi wyjaśnić, co #pragma packrobi oświadczenie preprocesora, a co ważniejsze, dlaczego ktoś chciałby go użyć. Sprawdziłem stronę MSDN , która oferowała pewien wgląd, ale miałem nadzieję usłyszeć więcej od osób z doświadczeniem. Widziałem to już wcześniej w kodzie, choć wydaje mi się, że już nie …

12
# Zdefiniować makro do drukowania debugowania w C?
Próba utworzenia makra, którego można użyć do drukowania komunikatów debugowania po zdefiniowaniu DEBUG, jak na przykład następujący pseudo kod: #define DEBUG 1 #define debug_print(args ...) if (DEBUG) fprintf(stderr, args) Jak można to osiągnąć za pomocą makra?
209 c  c-preprocessor 


5
Jak zrobić makro variadic (zmienna liczba argumentów)
Chcę napisać makro w C, które akceptuje dowolną liczbę parametrów, a nie określoną liczbę przykład: #define macro( X ) something_complicated( whatever( X ) ) gdzie Xjest dowolna liczba parametrów Potrzebuję tego, ponieważ whateverjest przeciążony i można go wywołać z 2 lub 4 parametrami. Próbowałem zdefiniować makro dwa razy, ale druga …



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.