use*_*413 5 c inline header code-readability
我已经结束了许多小内联函数在头文件中,我包含在许多编译单元中,代码由编译器正确内联,程序就像一个魅力.
但现在头文件是非常不寻常的(作为头文件),为了使它更具可读性我想做这样的事情:
#ifndef MY_HEADER_H
#define MU_HEADER_H
static inline
void my_fnct (my_param a);
#include "my_header.inline.c"
#endif
Run Code Online (Sandbox Code Playgroud)
和文件my_header.inline.c将是:
static inline
void my_fnct (my_param a)
{
// .. my code ..
}
Run Code Online (Sandbox Code Playgroud)
然后,当我想要这些功能时,我只需要包含头文件.
我的问题是:有一个更好的方法来实现这一点,而无需填充太多代码的头文件?或者我可以做到这一点,并期望其他开发人员没有问题地理解这些代码?
你不能。但是,您可以使用 GCC 的链接时间优化功能(然后某些调用可能会内联,即使该函数未声明并且inline在每个编译单元的标头中不可用),例如编译和链接(gcc -flto这需要最新的 GCC 编译器) ,例如至少 4.6 并且会减慢构建时间)。