Pytania otagowane jako macros

*** NIE UŻYWAJ dla języków VBA / MS-Office. Zamiast tego użyj odpowiednich tagów [vba]. *** Makro to reguła lub wzorzec określający, w jaki sposób dana sekwencja wejściowa (często sekwencja znaków) powinna być odwzorowana na sekwencję wyjściową (często również sekwencję znaków) zgodnie z zdefiniowana procedura.

5
Co jest ":-!!" w kodzie C?
Wpadłem na ten dziwny kod makra w /usr/include/linux/kernel.h : /* Force a compilation error if condition is true, but also produce a result (of value 0 and type size_t), so the expression can be used e.g. in a structure initializer (or where-ever else comma expressions aren't permitted). */ #define BUILD_BUG_ON_ZERO(e) …
1665 c  linux  macros  linux-kernel 


14
Co sprawia, że ​​makra Lisp są tak wyjątkowe?
Czytając eseje Paula Grahama na temat języków programowania, można by pomyśleć, że makra Lisp to jedyna droga. Jako zajęty programista pracujący na innych platformach nie miałem przywileju używania makr Lisp. Jako ktoś, kto chce zrozumieć szum, wyjaśnij, dlaczego ta funkcja jest tak potężna. Proszę również odnieść to do czegoś, co …

2
jak używać #ifdef z warunkiem OR?
Przepraszamy za bardzo podstawowe pytanie. Chciałbym ustawić warunek OR w dyrektywie #ifdef.? Jak to zrobić ? próbowałem #ifdef LINUX | ANDROID ... .. #endif To nie działało? Jaka jest właściwa droga?
244 c  macros 

10
Czy mogę nagrywać / odtwarzać makra w Visual Studio 2012/2013/2015/2017/2019?
Najwyraźniej makra zostały usunięte z Visual Studio 2012. Czy istnieje wtyczka / rozszerzenie / narzędzie, które pozwoli mi nagrywać i odtwarzać makra klawiatury (podobnie jak tymczasowe makro nagrywania / odtwarzania w Visual Studio 2010)? Na przykład zwykle używałbym makra podczas konwersji kodu z jednego języka na inny lub do szybkiego …

8
Przeciążenie makra na liczbę argumentów
Mam dwa makra FOO2i FOO3: #define FOO2(x,y) ... #define FOO3(x,y,z) ... Chcę zdefiniować nowe makro FOOw następujący sposób: #define FOO(x,y) FOO2(x,y) #define FOO(x,y,z) FOO3(x,y,z) Ale to nie działa, ponieważ makra nie przeciążają wielu argumentów. Bez modyfikacji FOO2i FOO3czy istnieje jakiś sposób zdefiniowania makra FOO(przy użyciu __VA_ARGS__lub w inny sposób), aby …
183 c  macros  c-preprocessor 


30
Jakie jest najgorsze nadużycie makr / preprocesorów w świecie rzeczywistym, z jakim się kiedykolwiek spotkałeś?
Zamknięte . To pytanie i odpowiedzi na nie są zablokowane, ponieważ pytanie jest niezwiązane z tematem, ale ma znaczenie historyczne. Obecnie nie przyjmuje nowych odpowiedzi ani interakcji. Jakie jest najgorsze nadużycie makr / preprocesorów w świecie rzeczywistym , z jakim kiedykolwiek się spotkałeś (prosimy o żadne wymyślone odpowiedzi IOCCC * …
176 c++  c  macros  preprocessor 



24
Makro __FILE__ pokazuje pełną ścieżkę
Standardowe predefiniowane makro __FILE__dostępne w języku C pokazuje pełną ścieżkę do pliku. Czy jest jakiś sposób na skrócenie ścieżki? Mam na myśli zamiast /full/path/to/file.c Widzę to/file.c lub file.c
164 c  file  macros  path 

2
Czy #pragma jest kiedyś częścią standardu C ++ 11?
Tradycyjnie, standardowym i przenośnym sposobem uniknięcia wielu włączeń nagłówków w C ++ było / jest użycie #ifndef - #define - #endifschematu dyrektyw prekompilatora, zwanego również schematem ochrony makr (zobacz fragment kodu poniżej). #ifndef MY_HEADER_HPP #define MY_HEADER_HPP ... #endif Jednak w większości implementacji / kompilatorów (patrz rysunek poniżej) istnieje bardziej „elegancka” …


8
Gdzie zapisane makra są przechowywane w Notepad ++?
Nagrałem makro, którym chcę się podzielić z kolegą z pracy. W jakiej lokalizacji zapisywane są te zarejestrowane makra, abym mógł je dodać do jego maszyny? Jeśli jesteś zainteresowany, makro służy do pobierania listy wartości i dodawania cudzysłowów i przecinków, aby można je było użyć w WHEREklauzuli zapytania SQL ( WHERE …

14
Jak wyświetlić wartość #define w czasie kompilacji?
Próbuję dowiedzieć się, jakiej wersji Boost mój kod używa. Chcę zrobić coś takiego: #error BOOST_VERSION ale preprocesor nie rozwija BOOST_VERSION. Wiem, że mógłbym wydrukować go w czasie wykonywania z programu i wiem, że mógłbym spojrzeć na dane wyjściowe preprocesora, aby znaleźć odpowiedź. Czuję, że sposób na zrobienie tego podczas kompilacji …

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.