我正在开发一个有时使用
的C库 static inline void myfunc(...)
定义函数时。
现在我尝试将其移植到不支持“静态内联”的旧C编译器。这是bcc - Bruce的C编译器。
我可以在替换
的头文件中使用命令吗?static inline void
与
void
在包含此头文件的所有程序中?
答案 0 :(得分:5)
当您必须定位不支持某些功能的编译器时,通常在代码中使用宏,而不是尝试使用宏修改代码。
在这种情况下,您可以依赖于编译器的方式定义STATIC_INLINE
宏,并像这样使用它:
#ifdef BCC_COMPILER
#define STATIC_INLINE
#else
#define STATIC_INLINE static inline
#endif
...
STATIC_INLINE void myfunc(...)
答案 1 :(得分:1)