下面的 #define OS_EXT extern 是什么意思?OS_EXT 是分配内存的吗? 宏定义到底分布分配内存?

#ifdef OS_GLOBALS #define OS_EXT #else #define OS_EXT extern #endif
2024-12-25 15:01:49
推荐回答(3个)
回答1:

宏定义 常用于 字符串 替代。
如果定义了宏 OS_GLOBALS 则 {定义 宏 OS_EXT}
否则 {#define OS_EXT extern} -- 也就是 以后出现的 字符串 OS_EXT 用 字符串 extern 替代 后再编译。

回答2:

#define OS_EXT extern

就是说在预编译时凡是遇到 OS_EXT 都自动替换成 extern
宏定义不分配内存。

回答3:

在os_core.c文件里分配内存,其他c文件只是声明。