IWindow机制的一个问题

two_55_eight 2008-01-23 11:03:08
在看Brew_SDK中的一个MediaPlayer的例子的时候,看到
#define INHERIT_CWindow(iname) \
DECLARE_VTBL(iname) \
CMediaPlayer * m_pOwner; \
IShell * m_pIShell; \
IDisplay * m_pIDisplay; \
flg m_bActive:1


#define MP_IWINDOW_SETVTBL(pVtbl, pfnEn, pfnRd, pfnHE, pfnDel) \
(pVtbl)->Enable = (pfnEn); \
(pVtbl)->Redraw = (pfnRd); \
(pVtbl)->HandleEvent = (pfnHE); \
(pVtbl)->Delete = (pfnDel)

请问上面的宏定义后面的“\”是什么意思,还有m_bActive:1是不是初始化赋值为1的意思,
什么时候可以用“:”来赋初值? 谢谢
...全文
752 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
two_55_eight 2008-02-22
  • 打赏
  • 举报
回复
非常感谢!!
lhxja 2008-02-04
  • 打赏
  • 举报
回复
给 1 楼补充一下

“\” 是续行符,主要是用在字符串在代码中的显示。
宏定义是在预处理时用来替换的字符串语句,规定一个宏定义必须在一行语句中完成。
当宏定义比较长时,还写在一行就比较难于查看和理解。
在宏定义时一行的最后存在 "\" 就是为了告诉编译器,下面和我是一行的,只是为了方便查看才分成两行的。

在字符串常量的时候用的也比较多,例如:

char* str = "这篇文章的目的主要是对最近写的一个Linux病毒原型代码做一个总结,\
同时向对这方面有兴趣的朋友做一个简单的介绍。 阅读这篇文章你需要一些知识,\
要对ELF有所了解、能够阅读一些嵌入了汇编的C代码、了解病毒的基本工作原理"
mountsoulluo 2008-02-01
  • 打赏
  • 举报
回复
1. \
续行符。
2 :表示位域,即m_bActive占一位

4,662

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧