社区
C语言
帖子详情
请教此语句是啥意思,在线等待
wlxin
2006-11-15 07:21:55
#define ast_test_flag(p,flag) ({ \
typeof ((p)->flags) __p = (p)->flags; \
typeof (__unsigned_int_flags_dummy) __x = 0; \
(void) (&__p == &__x); \
((p)->flags & (flag)); \
})
...全文
414
12
打赏
收藏
请教此语句是啥意思,在线等待
#define ast_test_flag(p,flag) ({ \ typeof ((p)->flags) __p = (p)->flags; \ typeof (__unsigned_int_flags_dummy) __x = 0; \ (void) (&__p == &__x); \ ((p)->flags & (flag)); \ })
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
watermelontx
2006-11-18
打赏
举报
回复
宏定义,,这样定义,可读性太差,,安全方面也不好!
lockhall
2006-11-18
打赏
举报
回复
就是宏定义.定义中的\表示换行.
xiaonong
2006-11-16
打赏
举报
回复
啊,看不懂
处于崩溃中......
怎么这么悬乎呢???
wlxin
2006-11-15
打赏
举报
回复
木脑壳:为什么要那么定义,能说明原因不
再个
typeof ((p)->flags) __p = (p)->flags; 那个__p是啥东东,有啥用
typeof (__unsigned_int_flags_dummy) __x = 0; __x又是啥玩意
(void) (&__p == &__x); 这句话啥意思,有什么用
((p)->flags & (flag)); 这句话有什么用
alan001
2006-11-15
打赏
举报
回复
相当于这句:
------------
({if((p)->flags)__p=(p)->flags;if(__unsigned_int_flags_dummy)__x=0;((p)->flags&flag));})
alan001
2006-11-15
打赏
举报
回复
应该先了解和确定({........})的作用,
比方:
b=({a=1;a=2;});能不能编译通过......................
楼主试一试..........
一分之千
2006-11-15
打赏
举报
回复
#define ast_test_flag(p,flag) ({ \
typeof ((p)->flags) __p = (p)->flags; \
typeof (__unsigned_int_flags_dummy) __x = 0; \
(void) (&__p == &__x); \
((p)->flags & (flag)); \
})
这个是C语言中的预处理语句。c语言中经常会使用#define来代替一个函数的定义 在程序中任何出现ast_test_flag(p,flag)的地方都会自动被 ({ \
typeof ((p)->flags) __p = (p)->flags; \
typeof (__unsigned_int_flags_dummy) __x = 0; \
(void) (&__p == &__x); \
((p)->flags & (flag)); \
})
所替换。
在C++里可以使用内联函数来代替
alan001
2006-11-15
打赏
举报
回复
这句没有意义:(void) (&__p == &__x);
alan001
2006-11-15
打赏
举报
回复
先用 if 代替 typeof 看看编译能不能通过,,
yingge
2006-11-15
打赏
举报
回复
#define ast_test_flag(p,flag) ({ \
typeof ((p)->flags) __p = (p)->flags; \
typeof (__unsigned_int_flags_dummy) __x = 0; \
(void) (&__p == &__x); \
((p)->flags & (flag)); \
})
为什么这样定义宏?似乎下面这样更好些吧
#define ast_test_flag(p,flag) (do{ \
typeof ((p)->flags) __p = (p)->flags; \
typeof (__unsigned_int_flags_dummy) __x = 0; \
(void) (&__p == &__x); \
((p)->flags & (flag)); \
}while(0))
Ninstein
2006-11-15
打赏
举报
回复
宏 没什么高深的
\是换行符
LiChenYue
2006-11-15
打赏
举报
回复
看不懂,蹭点分!
常见漏洞的pcap流量特征分析
常见漏洞的pcap流量特征分析
2009-2024年 各国清廉指数CPI(xlsx)31.rar
该数据集整理了2009—2024年间全球主要国家和地区的清廉感知指数(Corruption Perceptions Index, CPI),并列出了各年度的得分与排名信息。CPI 由透明国际发布,基于多种商业与民意调查综合计算,反映公共领域腐败感知程度。数据以 Excel 表格形式存储,压缩包内包含多年份文件,便于进行跨年度对比和面板数据分析。用户可依据国家或地区名称、年份、分数、排名等字段开展研究,适用于国际比较、腐败治理成效评估及经济社会相关性分析等场景。
PC工具用于监控串口数据
串口监控工具
面向内置式永磁同步电机的MTPA效率优化与双闭环矢量控制对比仿真研究(Simulink仿真实现)
面向内置式永磁同步电机的MTPA效率优化与双闭环矢量控制对比仿真研究(Simulink仿真实现)内容概要:本文针对内置式永磁同步电机(IPMSM)的控制策略,基于Matlab/Simulink仿真平台,对比研究了最大转矩电流比(MTPA)效率优化控制与双闭环矢量控制两种方法。研究内容涵盖了在不同工况下两种控制策略的动态响应特性、效率表现及系统稳定性,重点分析了MTPA控制在提升电机效率方面的优势,以及双闭环矢量控制在精确转矩响应和宽速域运行中的性能特点。通过搭建详细的电机模型和控制算法模块,仿真验证了各自控制策略的可行性与有效性,为高性能电机驱动系统的设计与优化提供了仿真依据和技术参考。; 适合人群:具备电机控制、电力电子或自动化等相关专业背景,熟悉Matlab/Simulink仿真工具,从事电机驱动系统研发的工程师及研究生。; 使用场景及目标:①为内置式永磁同步电机的高效控制策略选型提供理论与仿真支持;②深入理解MTPA控制与矢量控制的核心原理、实现方法及性能差异;③应用于新能源汽车、工业伺服等对电机效率和动态性能有高要求的领域。; 阅读建议:在学习过程中应结合Simulink模型,仔细分析各控制模块的参数设置与信号流向,并通过改变负载、转速等条件进行仿真测试,对比分析两种控制策略的输出波形,以加深对理论知识的理解和工程应用的认知。
模型轻量化桌面客户端 (model-yh)
- 导入 GLB / glTF 模型并扫描,给出优化建议 - 减少物体数:GPU 实例化、删除小物体、同材质合并、多 primitive 合并、跨材质合并 - 降低显存:贴图去重、贴图降分辨率、KTX2 压缩、Meshopt 减面 - 几何压缩:Draco / Meshopt - Three.js 实时预览,优化前后切换对比 - 优化日志 + 数据对比报告 - 导出优化后的 GLB/glTF
C语言
70,040
社区成员
243,237
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章