寻找预处理器命令来删除代码中的命令

Geo*_*org 2 c c-preprocessor bcc-compiler

我正在研究一个有时使用的C库

 static inline void myfunc(...)
Run Code Online (Sandbox Code Playgroud)

在定义函数时.

现在我尝试将其移植到不支持"静态内联"的旧C编译器.这是bcc - Bruce的C编译器.

我可以在替换的头文件中使用命令吗?

static inline void
Run Code Online (Sandbox Code Playgroud)

void
Run Code Online (Sandbox Code Playgroud)

在包含此头文件的所有程序中?

das*_*ght 5

当您必须定位不支持某些功能的编译器时,通常在代码中使用宏,而不是尝试使用宏修改代码.

在这种情况下,您可以STATIC_INLINE依赖于编译器的方式定义宏,并像这样使用它:

#ifdef BCC_COMPILER
#define STATIC_INLINE
#else
#define STATIC_INLINE static inline
#endif
...
STATIC_INLINE void myfunc(...)
Run Code Online (Sandbox Code Playgroud)