呼叫所有 C 宏大师...
有什么方法可以编写一个 C 宏来代替这样的东西:
my_var = 5;
有了这个:
setVar(&my_var, 5);
换句话说,我是否可以编写一个 C 宏来覆盖特定变量(在上面的示例中为 my_var)的赋值,并将其传递给一个函数,该函数的工作是设置该变量?如果可能的话,我希望能够挂钩特定变量的分配。
编辑:在考虑了更多之后,我不确定它是否可以完成。即使你能想出一个宏来做到这一点,setVar 也不一定知道它设置的变量的类型,那么它的第二个参数的类型是什么?
编辑:我想挂钩特定变量的赋值的原因是为了在一些专门的嵌入式 C 代码的原始调试器中使用。能够拥有一个“监视列表”会很好,就像您在 IDE 中一样。我的第一直觉是尝试用 C 宏挂钩变量赋值,这样您就可以将宏放入代码中并“监视”该变量,但话说回来,我以前从未真正编写过调试器,所以也许我要去关于这一切都错了。