思路
- 使用预处理指令
#ifdef
和 #ifndef
来判断操作系统类型。在Linux系统下,通常会定义 __linux__
宏。
- 使用
__GNUC__
和 __GNUC_MINOR__
宏来判断GCC编译器版本。__GNUC__
表示主版本号,__GNUC_MINOR__
表示次版本号。
- 根据判断结果,决定是正常编译还是使用
#error
输出错误信息。
关键代码片段
// 判断是否为Linux系统且GCC版本是否为8.0及以上
#ifdef __linux__
#if __GNUC__ > 8 || (__GNUC__ == 8 && __GNUC_MINOR__ >= 0)
// 在此处正常编写模块代码
// 例如:
#include <stdio.h>
void your_module_function() {
printf("This is your module function.\n");
}
#else
#error "This module requires GCC 8.0 or higher."
#endif
#else
#error "This module only supports Linux."
#endif