Результаты поиска по запросу "macros"
octotep / Ракетка-слабины-апи
нь очень заинтересован в макросах и только начинаю понимать их истинную силу. Пожалуйста, помогите мне собрать отличные примеры использования макросистем. Пока у меня есть эти конструкции: Шаблон соответствия: Эндрю Райт и Брюс Дуба. ...
Моя основная проблема с этим заключается в том, что синтаксический блок неясен, особенно строка «to» в последнем примере. Я также не большой поклонник использования декораторов для различения типов макросов.
отал над альтернативным интерфейсом компилятора для Python, где весь синтаксис анализируется с помощью макросов. Наконец-то я подошел к своему развитию, и теперь я могу начать работу над надмножеством языка Python, где макросы ...
Проблемы с использованием локальной метки в макросе в MASM
Я должен написать макрос, который принимаетE,NE,A,B... как параметр и одна команда, т.е.mov eax,ebx который будет выполняться, если условие, установленное предыдущимcmp операция верна. Пример вызова будет выглядеть так. cmp bx,20 mDoIf E,<call ...
В конечном итоге я выбрал ответ Трэвиса, потому что его факторы еще более значимы, хотя, возможно, именно он был вдохновлен этим.
тавь, что у меня естьX Macro [https://en.wikipedia.org/wiki/X_Macro]для списка элементов определено что-то вроде этого: #define X_MACRO(FN) \ FN(foo) \ FN(bar) \ FN(zip)Это прекрасно работает, и я могу вызвать его, чтобы сгенерировать один и тот ...
- Я оценил Boost три раза. Он не может пройти оценку ... Большинству сообщений об ошибках повезло, если их признали. Отсутствие признания указывает на более глубокие проблемы в процессе разработки. Я считаю, что макросы препроцессора и встроенные в C ++ стандартные библиотеки являются более безопасным выбором.
у кроссплатформенный код, который должен компилироваться в Linux, Windows, Mac OS. На окнах я должен поддерживать визуальную студию и mingw. Есть несколько частей кода, специфичного для платформы, который я должен поместить в#ifdef .. #endif ...
Шаблоны, с другой стороны, компилируются. Есть несколько этапов к этому. Например, имена разрешаются дважды. На любом этапе компилятор сохранит результат поиска по имени. Это запись в таблице. Как бы вы показали это в текстовом виде? Там нет тривиального выражения C ++ для этого.
ал, что компилятор будет расширять макросы во время компиляции. Шаблоны также раскрываются во время компиляции. Есть ли способ увидеть этот расширенный код? Я компилирую с использованием Visual Studio 2008. есть идеи?
@jcsalomon: верно, см. мое редактирование. Я думаю, что я добавлю это и к P99 тоже.
ли хак для поддержки регистра диапазона в выражении переключателя c (99?) Или target C? Я знаю, что это не поддерживается, чтобы написать что-то вроде этого: switch(x) case 1: case 2..10: case 11:Но я думал, что должен быть способ генерировать ...
В заключение, разница действительно заключается в компиляции вашего кода. Вам может понадобиться больше знаний о том, что там происходит.
ужно понять, как работает этот код: #define foo1( a ) (a * a) // How does this work? inline int foo2( int a ) { return (a * a); } int goo1( int x ) { return foo1(foo2(x)); } int goo2( int& x ) { return x = foo2(foo1(x)); } int goo3( int& x, int ...
Просто в качестве примера. У нас есть класс шаблона потока, который использует класс реализации thread_impl. thread_impl реализован как для windows, так и для unix, поэтому есть заголовочные файлы thread_impl_win и thread_impl_nix. Заголовочный файл потока должен включать один из них, чтобы можно было использовать класс thread_impl.
аюсь сгенерировать имя включаемого файла в макросе. Это должно быть законно в C ++: #define INCLUDE_FILE "module_impl_win.hpp" #include INCLUDE_FILEэто работает нормально, но как только я пытаюсь сгенерировать имя файла, он не ...
@Lundin: Хммм. Я получаю другое сообщение об ошибке с более новым GCC. Кажется, что не разрешено использовать аргументы с переменными значениями, но нельзя передавать аргументы с нулевым значением. Если это правда, добавление фиктивного аргумента работает. Я пытался использовать версию Visual Studio, по общему признанию, и она не компилируется вообще. (Это ничего не говорит о соответствии стандартам, хотя.)
я есть две функции foo1 (a, b) и foo2 (a, b, c) и макрос #define add(a,b) foo(a,b)Мне нужно переопределить макрос для достижения цели, 1. если add () вызывается с 2 параметрами, затем вызывается foo1 если add () вызывается с 3 параметрами, ...