我被分配审查和更新一个旧的私人图书馆,其中包含大量的
do { .. } while(0)
宏。
经过一番调查,我决定用静态内联函数替换它们。经过一些手动工作后,我很快发现这个过程有点繁琐且无脑,这让我想知道是否有一种方法可以自动“提升”。
我没有找到现有的解决方案。然而,有一个相反方向的项目:https://github.com/akiradeveloper/macro-of-inline.
我想知道是否已经有一个我不知道的现有解决方案,或者是否可以构建这样一个“提升”工具。
显然这个答案需要更新某些目前还不明显的缺失细节。
我认为这可以通过在代码编辑器中替换以下内容来完成:
#define
-> static inline return_type_t
do
-> 删除此while(0)
-> 删除此此外,所有宏参数都需要添加类型。