社区
新手乐园
帖子详情
typedef void (CALLBACK * LINECALLBACK)()是什么意思?
csoapy
2005-03-20 09:31:19
这是tapi.h里的定义
typedef void (CALLBACK * LINECALLBACK)(
DWORD hDevice,
DWORD dwMessage,
DWORD dwInstance,
DWORD dwParam1,
DWORD dwParam2,
DWORD dwParam3
);
谢谢!!
...全文
842
15
打赏
收藏
typedef void (CALLBACK * LINECALLBACK)()是什么意思?
这是tapi.h里的定义 typedef void (CALLBACK * LINECALLBACK)( DWORD hDevice, DWORD dwMessage, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2, DWORD dwParam3 ); 谢谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
csoapy
2005-03-24
打赏
举报
回复
cout<< ? 哪不是重载<<吗?
俺只是想要个使用这种 typedef 定义的例子,肯求高手出招。
还有那个(CALLBACK * LINECALLBACK) 中的 *是什么意思?
返回一个指针吗?
水晶绿鱼
2005-03-24
打赏
举报
回复
对于回调函数这个东西我不太懂,谁能举个例子解释一下吗? 看程序的结构好像是用 typedef 声明了一种新的函数指针类型,就是不太懂 (CALLBACK * LINECALLBACK) 这部分内容的含义。
simon78
2005-03-23
打赏
举报
回复
关注ing
galanz
2005-03-23
打赏
举报
回复
马甲加把劲,给个标准
yuchengliu
2005-03-23
打赏
举报
回复
typedef void (CALLBACK * LINECALLBACK)(
DWORD hDevice,
DWORD dwMessage,
DWORD dwInstance,
DWORD dwParam1,
DWORD dwParam2,
DWORD dwParam3
);
LINECALLBACK为一个返回值为void类型 参数入栈方式为CALLBACK 参数为。。。。。。。的指针
我这样认为。。如有不正确,请指正一下
oyljerry
2005-03-23
打赏
举报
回复
函数体中实现就可以了
cout<<
csoapy
2005-03-23
打赏
举报
回复
谁举个例子?
我先给出这样的定义:
typedef void (CALLBACK * LINECALLBACK)( int hDevice );
要求在屏幕上输出形参 hDevice 的值。
visual4825
2005-03-22
打赏
举报
回复
收藏
bluedodo
2005-03-21
打赏
举报
回复
很详细了
csoapy
2005-03-21
打赏
举报
回复
CALLBACK 是个类型名吗?
参数传递方式而已。如:
void fun(int p1,int p2)
CALLBACK 也就是pascal 方式时被编译器翻译成:
push p1
push p2
call fun
而 c/c++ 的参数传递方式就被翻译成:
push p2
push p1
call fun
参数传递方式,入栈顺序不同而已。
怎会是 参数类型为CALLBACK
llmsn
2005-03-21
打赏
举报
回复
这个typedef是用来产生类型别名的一个关键字,上面那个函数定义就是用来产生一个参数类型为CALLBACK * LINECALLBACK的函数别名,但上面的函数好像没有别名.
csoapy
2005-03-21
打赏
举报
回复
callback 是告诉编译器发生函数调用时“本函数”使用的参数传递顺序。
而不是一种类型啊?
还是不明白。。。。。。
windef.h里面是这样做的:
#define pascal __stdcall
#define CALLBACK __stdcall
#define PASCAL __stdcall
#define CALLBACK PASCAL
就是发生函数调用时传递参数的顺序(入栈次序)与c/c++相反。
还有,windows 是用c写的,为何要用混用两种函数参数传递方式呢?以区别函数的回调或者不回调?
nodummy
2005-03-20
打赏
举报
回复
没有定义函数指针,typedef不导致空间的分配,也不产生新的类型,楼上搞清楚……
e5022
2005-03-20
打赏
举报
回复
1
定义了一个函数指针,这个函数的返回类型和参数表已经在下面给出了,声明一个这样类型的变量,然后把一个参数表和返回值表完全相同的函数的函数名(不含括号,因为函数名就是函数的入口地址)赋给这个变量,以后使用此变量后加(参数)就可以调用这个函数了。
具体应用就是如上面所定义的那样,用于CALLBACK回调。比如一个数据结构的遍历程序,尽管我们有了非常先进的搜索算法,但是却无法定义遍历每个结点后需要作什么,这时可以把函数地址作为实参赋给遍历函数。遍历函数每取得一个结点就调用这个函数。这样设计的程序通用性非常高,可以到处使用却无需改代码。缺点就是你问问题的原因,不易理解
nodummy
2005-03-20
打赏
举报
回复
CALLBACK应该是__stdcall的宏定义
其实这个是一个类型定义(并不产生新的类型,只是一个类型别名)
这个是一个函数指针类型的别名,这种函数指针是回调函数(使用了__stdcall调用协议),并且各个参数的类型是DWORD的。
另外,后面的参数名字没有意义……
java图像检测yolov8s.pt导出yolov8s.torchscript
java图像检测:yolov8s.pt导出yolov8s.torchscript。环境Ultralytics 8.3.250 Python-3.13.11 torch-2.9.1+cu128 CPU。不同版本之间存在兼容性问题。导出代码为: from ultralytics import YOLO def export_torchscript_model(): model_path = "yolov8s.pt" input_size = 640 # 或 480,与 Java 代码保持一致 model = YOLO(model_path) model.export( format="torchscript", imgsz=input_size, device="cpu", half=False, dynamic=False, simplify=True ) export_torchscript_model()
【创新未发表】离网运行、储能配置与并网经济性比较研究(Matlab代码、Python、数据、word论文)
内容概要:本文围绕“离网运行、储能配置与并网经济性比较研究”展开,依托Matlab与Python编程工具,结合实际数据与仿真模型,系统性地探讨了离网系统与并网系统在不同储能配置下的运行特性与经济性差异。研究内容涵盖系统建模、优化算法设计、多场景仿真分析及经济性评估,重点对比了离网模式下储能容量配置对系统可靠性与成本的影响,并与传统并网模式进行综合效益比较。配套提供的Word论文详细阐述了研究背景、理论模型、实验设计与结果分析,形成完整的研究闭环。; 适合人群:具备一定电力系统基础知识和编程能力(Matlab/Python),从事新能源、微电网、储能系统等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:① 学习并掌握离网与并网微电网系统的建模与仿真方法;② 深入理解储能容量配置对系统经济性与可靠性的关键作用;③ 借助完整的代码与论文资料,快速搭建研究原型,开展课题研究或撰写学术论文。; 阅读建议:建议使用者首先通读Word论文以建立整体研究框架,再结合Matlab与Python代码进行仿真复现,重点关注不同场景下的参数设置与结果对比分析,从而深入理解研究方法的核心思想与技术细节。
流水线 CAD 图纸乱码?下载自动化字体修复包.zip
彻底解决CAD图纸文字变问号、文字变乱码,以及其他所有字体缺失带来的烦恼
HZ721.rar
CAD 缺失对应字体时,图纸文字会显示异常、出现乱码。将下载好的字体文件复制到 AutoCAD 的 Fonts 字体文件夹,即可正常显示文字。
安海智慧通航平台.pptx
安海智慧通航平台.pptx
新手乐园
33,316
社区成员
41,771
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章