下面的 #define OS_EXT extern 是什么意思?OS_EXT 是分配内存的吗? 宏定义到底分布分配内存?
#ifdefOS_GLOBALS#defineOS_EXT#else#defineOS_EXTextern#endif...
#ifdef OS_GLOBALS
#define OS_EXT
#else
#define OS_EXT extern
#endif 展开
#define OS_EXT
#else
#define OS_EXT extern
#endif 展开
3个回答
展开全部
宏定义 常用于 字符串 替代。
如果定义了宏 OS_GLOBALS 则 {定义 宏 OS_EXT}
否则 {#define OS_EXT extern} -- 也就是 以后出现的 字符串 OS_EXT 用 字符串 extern 替代 后再编译。
如果定义了宏 OS_GLOBALS 则 {定义 宏 OS_EXT}
否则 {#define OS_EXT extern} -- 也就是 以后出现的 字符串 OS_EXT 用 字符串 extern 替代 后再编译。
追问
extern 是什么? 有什么用?为什么有些宏定义中加下划线 有的不加 有什么区别么?
追答
宏定义中加下划线和不加下划线 -- 下划线等于一个字母,同字母abc...xyz类似,愿意表示什么就表示什么。通常表示词的分隔,类似英文句中的空格。
extern 是英文 “外部”的意思, C语言声明中用于声明变量的定义域,外部于本域。
看用在何处。在 宏中 ,就是一个字符串,没有特殊意义。
展开全部
#define OS_EXT extern
就是说在预编译时凡是遇到 OS_EXT 都自动替换成 extern
宏定义不分配内存。
就是说在预编译时凡是遇到 OS_EXT 都自动替换成 extern
宏定义不分配内存。
追问
extern 是什么? 有什么用?为什么有些宏定义中加下划线 有的不加 有什么区别么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在os_core.c文件里分配内存,其他c文件只是声明。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询