
[英]Using macros inside a printf string in C?
给定 3 个双打 x、y 和 z,我进行了很多这样的 printf 调用:printf("[%+-8.3lf, %+-8.3lf, %+-8.3lf]\n", x, y, z); 然后我想有一个宏来写这样的东西:#define FORMAT(x,y) "+-x.ylf" printf("[%F ...
[英]Using macros inside a printf string in C?
给定 3 个双打 x、y 和 z,我进行了很多这样的 printf 调用:printf("[%+-8.3lf, %+-8.3lf, %+-8.3lf]\n", x, y, z); 然后我想有一个宏来写这样的东西:#define FORMAT(x,y) "+-x.ylf" printf("[%F ...
[英]Error check macro that calls function in destructor
我正在使用来自 C++ 的外部 C API,其中函数通过设置全局错误 state 报告错误,需要在每次 function 调用后手动查询。 为了避免每次我使用宏来包装 function 调用时手动执行此操作,它看起来类似于: 像CHECK(ExternalFct(1, 2, 3))一样使用。 但这不 ...
[英]How to make sure that a Rust attribute proc macro runs before the compiler tries parsing the item?
我正在尝试制作一个宏,为结构类型声明添加一些额外的语法。 为简单起见,这里有一个玩具示例:一个用普通声明替换“函数调用”式类型声明的宏。#[my_macro] struct Point { x: LiteralType("f32"), y: LiteralType("f32"), } 应 ...
[英]Swift macros when creating Array from literals
对于下面的代码:let services: [MyServices] = [ MyService(), #if DEBUG DebugService(), #endif ] 我收到编译器错误: 表达式无法解析:错误:MyPlayground.playground:3 ...
[英]Why does my code work when use std::io::Write is in my main but not when it's in my lib
我有两个正在使用的文件,main.rs 和 lib.rs。 主.rs: 库.rs: 我已经尝试过,但是当我从 main.rs 中删除使用“std::io::Write”时,我的代码中断了,但为什么呢? 我不喜欢 output 是如何与 println 一起出现的。 所以我切换到打印! 并手动刷新它, ...
[英]My rust macro doesn't want to accept this let statement
我一直在尝试制作一个功能类似于 Python 的输入 function 的宏。 而不是每次我想稍微自动化它并结合 println 时都完全编写标准输入。 所以我可以用一块石头杀死 2 只鸟。 本质上,如果有人传入一个参数,它会打印一个字符串然后要求输入,如果他们不这样做,它只会要求从终端输入。#[m ...
[英]Invoking Common Lisp macros systematically with varying expressions
我正在学习 Common Lisp (SBCL)。 我想创建一个工具来调用两个(或更多)具有几个仅在某些参数上不同的相似表达式的宏。 我想定义表达式的基础,然后用我提供的参数修改它。 为此,我想到了 lambda function 的定义。 据我所知,没有与宏的funcall类似的东西,所以我也将宏 ...
[英]Can I write to a file through the Logitech Lua api?
我想这样做的原因是因为我试图通过脚本点亮单个键。 我想通过Logitech lua api调用脚本。 该功能将作为反馈响应。 fx 我已经为 G1 按钮创建了一个宏,我想在宏处于活动状态时点亮该特定按钮,并在它不活动时将其关闭。 我的解决方案是我创建了一个重复查找文本文件的 C# 脚本。 如果文 ...
[英]Looping through folder and copying csv with a certain name into active workbook
我正在尝试遍历包含不同 csv 文件的文件夹并复制前缀为 AB 的文件。 但是,我的循环卡在它找到的第二个文件上,并不断复制和粘贴它。 有没有人发现这可能发生在哪里? ...
[英]In Julia, how to create a macro consisting of several optional macros?
在 Julia 中,我正在尝试不同的并行化库,以使我的程序性能更高,并检查 memory 消耗是否与没有并行化时相同。 不幸的是,这会导致大量重复。 有没有一种方法可以组织我的代码,以便我只编写一次算法,然后一些带有参数的宏决定代码的并行化方式? 我的问题与这个类似。 例如,我的 MWE 回报 所 ...
[英]Document macro without expansion
在我使用 doxygen 1.9.1 记录的 C 项目中,我有几个记录的宏,例如/** * @brief Does a thing. */ #define DO_THING() someFunc(1, 2, 3) 当我生成文档时,列出了DO_THING但它显示了扩展(即someFunc(1, ...
[英]Regexp_replace collides with German umlaut ü, ö, ä
我正在用 SQL 在 dbt 中编写一个宏来清理名称。 我优雅地想把名字的第一个字母放在上面,但是我的 与德语变音符号 ä、ö、ü 相撞因此,例如,带有我上面的正则表达式的姓氏 schöneberger 变成了 SchöNeberger 而不是 Schöneberger。 有人知道该写什么,这样我就 ...
[英]Does dereferencing pointer cast violate strict aliasing?
这是否违反了严格的别名(或任何其他规范规则)? 这是一种简化,实际代码适用于受歧视工会的成员。 ...
[英]How to use captured lifetime token in function parameter
这是代码:struct A<'a, 'b> { s1: &'a str, s2: &'b str, } struct B<'a> { s3: &'a str, } macro_rules! gen_fn { ( $n ...
[英]Create toggle functionality for keyboard in LUA script (logitech G hub)
这将是我在这里的第一篇文章。 我正在尝试使用 LUA 创建一个用作切换的脚本我想要的功能是一个键“G1”,它在按下时启动循环并在再次按下时中断循环。 我的代码:local msMakro = false local safety = 0 function OnEvent(event, arg) ...
[英]Global variable modifying macro
我目前正在学习 Julia 并试图掌握宏的窍门。 作为练习,我正在尝试制作一个 function 来修改其在全局上下文中的第一个参数。 根据我对Ref()的了解,我只是想尝试使用宏。 然而,我当前的代码给我一个运行错误,我不明白。 这应该采用 function ( x ) 的第一个变量并将其修改为1 ...
[英]How to separate last expression in repeated expressions in a Rust macro?
我想要这个宏:macro_rules! macro1 { ($f1:expr, $($f2:expr),+, $f3:expr) => { $f1(|a| { $( $f2(a, |b| { ...
[英]C - Is it possible to implement a reduction operation using variadic macros?
这个问题几乎是重复的,但我想我会再问一次,因为它已经很老了,而且语言可能已经发展: Variadic recursive preprocessor macros - is it possible? 我想实现一个常量 ONE_HOT 编码操作,我想知道这是否可以使用可变参数宏。 我想计算我的enum ...
[英]How to set up a global table of available factories by name?
我正在尝试构建一个可用工厂列表,以在 Rust 中构建不同类型的处理程序。 我有一些具体的处理程序(Foo,以及类似的 Bar 和 Baz ...): 现在,我想构建一个“按名称列出可用处理程序的全局表”。 到目前为止,我试过: const NOTIFIERS: HashMap<(& ...
[英]Use macro in match branch
我有一个抽象我的枚举变体的宏:struct Test(u64); enum MyEnum { Variant1(Test) } macro_rules! MyEnumVariant { ["1"] => MyEnum::Variant1 } 我想在匹配分支中使用: fn mai ...