![]() |
1
19
没有这样的内置API允许您在运行时获取这些信息。生锈没有运行时反射(请参见 this question 更多信息)。但通过proc宏确实是可行的!
注意:proc宏与“macro by example”(通过
( 这不是对proc宏的介绍;如果该主题对您来说是全新的,请先在其他地方阅读介绍。 )
在proc宏(例如自定义派生)中,您可能需要将结构定义作为
类型
现在你得到了你想要的。
也许你想加上这个
然后,在应用程序中,您可以编写:
|
![]() |
2
6
当结构本身由宏生成时是可能的-在这种情况下,您只需计算传递到宏中的令牌,如图所示 here . 我就是这么想的:
Playground (有一些测试用例)
这种方法的缺点(一个——可能还有更多)是,向这个函数添加一个属性并不容易——例如,
|
|
wavesinaroom · 断言结构向量长度 6 月前 |
![]() |
fghoussen · 在C结构体中,为什么打包、对齐似乎会进行填充? 11 月前 |
![]() |
kamkow1 · 匿名结构的初始值设定项错误无效 1 年前 |