有没有办法自动将类似函数的宏“提升”为真正的内联函数?

问题描述 投票:0回答:1

我被分配审查和更新一个旧的私人图书馆,其中包含大量的

do { .. } while(0)
宏。

经过一番调查,我决定用静态内联函数替换它们。经过一些手动工作后,我很快发现这个过程有点繁琐且无脑,这让我想知道是否有一种方法可以自动“提升”。

我没有找到现有的解决方案。然而,有一个相反方向的项目:https://github.com/akiradeveloper/macro-of-inline.

我想知道是否已经有一个我不知道的现有解决方案,或者是否可以构建这样一个“提升”工具。

c macros preprocessor inline-functions
1个回答
0
投票

显然这个答案需要更新某些目前还不明显的缺失细节。

我认为这可以通过在代码编辑器中替换以下内容来完成:

  • #define
    ->
    static inline return_type_t
  • do
    -> 删除此
  • while(0)
    -> 删除此

此外,所有宏参数都需要添加类型。

© www.soinside.com 2019 - 2024. All rights reserved.