Результаты поиска по запросу "macros"

5 ответов

Макрос и функция с тем же именем

У меня есть следующий код #define myfunc(a,b) myfunc(do_a(a), do_b(b)) void myfunc(int a, int b) { do_blah(a,b); } int main() { int x = 6, y = 7; myfunc(x,y); return 0; }Я хочу, чтобы препроцессор расширял функцию myfunc только при вызове. ...

5 ответов

Сохранение макросов vim

Кто-нибудь знает, как правильно сохранять / повторно использовать макросы, записанные в редакторе vim?

3 ответа

Как сделать вариационный макрос (переменное число аргументов)

жный дубликат: C / C ++: как создать макрос с переменным числом аргументов [https://stackoverflow.com/questions/679979/c-c-how-to-make-a-variadic-macro-variable-number-of-arguments] Мне нужен макрос, который будет расширяться в массиве, который ...

ТОП публикаций

1 ответ

Да, спасибо, исправлено - компиляция должна сообщать о таких ошибках, как предупреждения о неопределенных переменных.

ытался обернуть выражение лица еще одним выражением лица. Я предполагаю, что макрос должен делать это, но я не понимаю трюк. Может ли кто-нибудь помочь мне, кто знает, как это сделать? Моя настоящая цель - написать макрос, который обернет ...

1 ответ

о, ладно .. вроде понял .. :) .. но все еще немного запутался, потому что я поместил два оператора operator_on в вызов макроса и обернул каждый из них внутри (и это работает ... думаю, я немного Рано об определении выражения и макро-аргументах, но не так уж сложно и хорошо узнал новое сегодня :)

ющий код компилируется нормально. #define CMD_MACRO(pp, cmd) \ { \ if (pp)\ { cmd; } \ } template<class T> void operate_on(T &data, char c) { data=data+1; }; int main() { int book=4; char c; CMD_MACRO(book, { operate_on<int>(book, c); }); ...

3 ответа

 в качестве второго аргумента

еализовать макрос assert, совместимый со стандартом, с необязательным форматированным сообщением? То, что у меня работает в Clang, но (правильно) вызывает-Wgnu-zero-variadic-macro-arguments предупреждение, если оно включено (например, ...

1 ответ

Спасибо, этот обходной путь работает хорошо.

альный код для воспроизведения: macro_rules! test { ($name:ident: $count:expr) => { macro_rules! $name { ($($v:expr),*) => {} } } } test!(yo: 123);Получил ошибку: error: attempted to repeat an expression containing no syntax variables ...

2 ответа

Возможно, это поможет некоторым людям, которые хотели автоматизировать сохранение страниц. И если кто-то может улучшить это, возможно, вы могли бы сказать, как в комментарии или другого ответа. Особенно, если вы знаете, почему диалоговое окно «Сохранить как» не закрывается надежно, и знаете, как это исправить.

ужно заархивировать несколько сотен веб-страниц в стиле, который браузеры называют «Сохранить как, завершить», то есть они сохраняют HTML-файл для самой страницы вместе с папкой, полной других файлов, необходимых для правильного отображения ...

1 ответ

В вашем случае, я бы дважды подумал, является ли использование большого количества кода на LISP в Rust хорошей идеей, потому что нет хороших способов заставить его работать (насколько я вижу).

аюсь реализовать версию Lispобработка [https://processing.org/]и с этой целью я используюmacro_lisp [https://crates.io/crates/macro_lisp]Ящик, чтобы превратить код Lisp в Rust во время компиляции. Это работает, когда я структурирую свой код ...

1 ответ

meta-alternative.net/pfront.pdf

отаю над проектом Clojure и часто пишу макросы Clojure для DSL, но я смотрел видео Clojure о том, как компания использует Clojure в своей реальной работе, и докладчик сказал, что при практическом использовании они не используют макросы для своих ...