我正在开发一个有时会用到的 C 库
static inline void myfunc(...)
定义函数时。
现在我尝试将其移植到不支持“静态内联”的旧 C 编译器。这是 bcc - Bruce 的 C 编译器。
我可以在头文件中使用命令替换
static inline void
与
void
在包含这个头文件的所有程序中?
最佳答案
当您必须以不支持某些功能的编译器为目标时,通常在代码中使用宏,而不是尝试使用宏修改代码。
在这种情况下,您可以以依赖于编译器的方式定义 STATIC_INLINE
宏,并像这样使用它:
#ifdef BCC_COMPILER
#define STATIC_INLINE
#else
#define STATIC_INLINE static inline
#endif
...
STATIC_INLINE void myfunc(...)
关于c - 寻找预处理器命令以删除代码中的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41415760/