如何解决这个元编程问题?



我有一个c文件,我希望能够做一些像

init() {
//do stuff
}

,并有某种类型的解析器,给它一个唯一的名称,并将其添加到链接器脚本或其他文件中的部分。

第一部分可以用gnu预处理器实现,但第二部分不能。
我试过使用m4,但它不允许宏和括号之间的空白。

我的环境只是make,所以我可以在编译之前运行东西。
我如何以跨平台的方式实现这一点?

我找到的唯一合适的解决方案是制作自己的解析器。(使用flex)

最新更新