完成端口ZeroMemory(&(lpPerIOData->Overlapped), sizeof(OVERLAPPED))是否必须?

白虹李李 2010-10-31 01:55:04
我看到的书上例子是收发前都做这个操作的,不过感觉不是文件操作,是否可以不用这步?

好像说如果是文件操作OverLapped才有用,那么做socket的操作,是否可以不ZeroMemory?

请高手指点下,谢谢。
...全文
189 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
白虹李李 2010-12-05
  • 打赏
  • 举报
回复
自己学习到这个东东了,特来再回复一下:
你必须把它们初始化为0,否则I/O请求会失败,调用GetLastError会返回ERROR_INVALID_PARAMETER。
Eleven 2010-11-01
  • 打赏
  • 举报
回复
最好初始化一下
paerxiushi 2010-11-01
  • 打赏
  • 举报
回复
最后一句话写错了,改成:
无论是套接字句柄,还是文件句柄,都有信号态与非信号态两种状态。当使用OVERLAPPED结构来进行重叠操作时,系统先检查结构中的事件句柄是否为NULL。如果句柄为NULL,再检查文件或套接字句柄是否为NULL。
paerxiushi 2010-11-01
  • 打赏
  • 举报
回复
OVERLAPPED结构中含有一个成员hEvent,而当OVERLAPPED结构未初始化时,hEvent值不为NULL。当你调用AcceptEx,WSARecv之类的函数,系统会试图将这个事件对象设置为信号态的。当然了,因为这样的事件句柄原本不存在,所以函数调用都失败。
如果成员hEvent为NULL,AcceptEx,WSARecv之类的函数在每次操作完成时,会将套接字句柄设置为信号态的。只要套接字句柄存在,函数就调用成功。
无论是套接字句柄,还是文件句柄,都有信号态与非信号态两种状态。当使用OVERLAPPED结构来进行重叠操作时,系统先检查结构中的事件句柄是否存在。如果不存在时,再检查文件或套接字句柄是否存在。
LiWang112358 2010-10-31
  • 打赏
  • 举报
回复
我的经验是一定要加,否则会造成 WSA_GetLastError() == 6 无效句柄这个错误
内容概要:本文系统介绍了基于LlamaFactory框架对大语言模型Qwen3-1.7B进行LoRA微调以实现商品十分类任务的完整流程,涵盖环境搭建、数据预处理、模型微调、性能评估与Badcase分析,以及使用vLLM进行推理加速部署的全过程。通过DeepSpeed技术实现训练加速,并结合实际分类效果进行准确率分析,将模型原始准确率从59.6%提升至91.3%,显著优化分类表现。同时针对低召回率类别(如冷藏即饮果汁)开展Badcase分析,定位训练数据不足问题并提出增量训练改进方案。最后通过vLLM部署实现推理性能大幅提升,批处理时间由54秒缩短至22秒。; 适合人群:具备一定深度学习与自然语言处理基础,熟悉Python编程和Linux环境,从事AI算法研发或模型优化工作的工程师及研究人员,尤其适合有大模型微调与部署需求的从业者; 使用场景及目标:①掌握基于LoRA的大模型高效微调方法;②学习如何利用DeepSpeed加速训练过程;③提升分类任务准确率与召回率的调优策略;④实现高性能推理部署与端到端模型优化闭环; 阅读建议:建议结合代码实践操作,重点关注数据构造、参数配置、Badcase分析与推理部署环节,深入理解微调机制与性能瓶颈优化思路,配合日志与评估指标迭代改进模型。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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