扩展 DLL资源冲突问题

本文原创,转载请注明出处:http://blog.csdn.net/banket004

平时比较少把对话框之类的资源打包到DLL中,基本都是放一些逻辑算法,所以感觉用起来也顺手,没多少难度.这几天特地把一些项目进行优化,其中需要把一个带对话框的功能模块化,随即轻车熟路的用VS 2010创建DLL解决方案.随着功能的完善,问题立马出来了.

因为之前对要模块化的功能已经修改过N次了, 所以没花多少时间就把相应代码迁移到DLL解决方案中. 稍微更正几个编译不通过的小错误, DLL 就在测试程序上面跑起来了. 但跑了一半却崩溃了, 直接在用GetDlgItem函数获取对话框上指定控件的指针代码处挂掉了. 一开始没什么头绪, 对话框上控件的ID号没错, 应该不会出现这种怪异的现象. 经过断点跟踪, 竟然发现取不到控件的指针, 真的是奇了. 由于GetDlgItem是在对话框的OnInitDialog函数中调用, 用来自定义显示, 因此也看不到对话框弹出来后的效果.  把GetDlgItem相关的代码注释掉后, 再次运行测试程序. 看到弹出来的对话框后, 真是大吃一惊, 这哪里是原来对话框, 根本就是测试程序的界面. 看来很可能是这两个资源的ID号相同.打开各自的Resource.h文件一看,还真的是一样. 这是赤裸裸的资源冲突啊. 看来在DLL加载资源方面,我还是新手, 赶紧问问google. google就是比某度好用, 答案很快就出来了.原来资源默认是查找APP中的资源,找不到才去DLL中找, 要是想在DLL 中用DLL 的资源,需要切换到DLL的资源.感觉有点印象,是以前看过的知识,没用就忘了. 在给各个需要的接口中加入AFX_MANAGE_STATE(AfxGetStaticModuleState( ))之后, 编译出现以下错误:

mfcs100d.lib(dllmodul.obj) : error LNK2005: _DllMain@12 already defined in dllmain.obj

又是一个新面孔的家伙,直接把全部错误信息贴到上google找, 找到的答案基本是下面这些情况

mfcs80.lib(dllmodul.obj) :error LNK2005: _DllMain@12 already defined in MSVCRT.lib(dllmain.obj).

后来把搜索关键词简化之后, 找到的网页跟我的情况也相关太大, 尝试着一些方法后, 问题还是没解决.

后来想想,这个是扩展 DLL, 可能比网上说的其他两类DLL的解决方法差别比较大吧. 或者以 "MFC 扩展DLL 使用资源" 为关键词搜到的答案参考价值大些.果然,  一搜索,msdn的网页就排在很靠前面了, 

http://msdn.microsoft.com/zh-cn/library/h5f7ck28%28v=vs.90%29.aspx

这网站的文章对我说是相当滴有用,以前有找到过上面的文章.

看完这文章之后,按照上面的方法,使用AfxGetResourceHandleAfxSetResourceHandle纯手动切换资源, 问题就全部解决了.

虽然做VC开发也有些年月了,以为基本的都能轻松搞定.看来是有点高估了.仍需大大滴努力 :-)


内容概要:本文围绕基于Python和Transformer模型的多变量风电功率预测展开研究,重点针对短期风电功率预测任务。研究采用深度学习中的Transformer架构,引入风速、温度、湿度等多种气象及运行变量作为输入特征,构建高精度预测模型。为进一步提升预测的稳健性与可靠性,研究结合近端梯度算法求解LASSO分位数回归,优化模型在不确定性环境下的输出表现,增强预测结果的置信区间估计能力。该技术是机器学习与新能源领域深度融合的典型应用,旨在提高风电并网的稳定性与电网调度的科学性。; 适合人群:具备Python编程基础,熟悉主流深度学习框架(如PyTorch或TensorFlow)的研究生、科研人员,以及从事新能源发电预测、电力系统调度、智能电网优化等相关工作的技术人员。; 使用场景及目标:①应用于风电场实际运行中的短期功率预测系统,辅助电网进行精准负荷调配与调度决策;②作为科研项目的技术蓝本,用于复现、改进或扩展基于Transformer的时间序列预测模型;③探索LASSO分位数回归与深度学习模型的融合机制,提升预测结果的概率性输出与风险评估能力。; 阅读建议:此资源适用于已掌握机器学习与深度学习基础知识的读者,建议结合所提供的代码实现进行动手实践,重点关注多变量数据的预处理流程、Transformer模型的结构设计与注意力机制实现、超参数调优策略,并尝试在不同风电数据集上验证模型的泛化性能与鲁棒性。
内容概要:本文档《STK入门手册》系统介绍了AGI公司开发的Satellite Tool Kit(STK)软件的基本用法与核心功能,涵盖用户界面操作、地图窗口设置、各类对象(如卫星、航天器、设施、传感器等)的创建与属性定义,以及高级分析模块如高精度轨道预测(HPOP)、长周期轨道内容概要:预测(LOP)、地形本文档为与高分辨率地图《STK入门手册》,介绍了Sat的应用。手册还详细说明了Scellite Tool Kit(STK)软件的基本用enarios的时间设置、单位法与核心功能,配置、数据库管理重点涵盖用户界面操作、地图窗口设置、场景及动画演示等功能,帮助用户进行全面(Scenario)管理的卫星系统仿真、卫星及各类与分析。;对象(如航天器、设施、传感器 适合人群:适用于等)的创建与刚接触STK的新属性配置。手册手用户以及具备详细说明了STK一定经验的卫星系统分析的专业技术特性,包括人员,尤其适合从事高精度轨道预测(HPOP)、长航天、遥感、周期轨道分析(LO通信等领域工程技术人员P)、地形与高分辨率地图模块和研究人员。;、姿态模拟与指向 使用场景及目标:①用于、数据可视化等功能卫星轨道设计、,并提供了对象管理覆盖分析、通、动画设置、单位路计算、传感器配置、数据库调建模等航天用等实用操作任务仿真;指导。附录还包含术语表、文件②支持复杂空间格式说明及高级技术注释。; 适合人群:从事环境下的高精度动力学建模与可视化卫星系统分析、航天分析,提升系统设计与决策效率工程、轨道设计;③辅助等相关领域的科研人员和技术教学培训与工程项目工程师,尤其适合初学者和有一定实践,实现从基础操作到高级经验的STK用户功能的全面掌握。。; 使用; 阅读建议:建议场景及目标:①用于学习和掌握结合STK软件STK软件的基础实际操作同步学习,重点关注操作与高级分析功能;②支持各章节中的属性卫星轨道仿真、覆盖设置与操作流程分析、通路,注意手册中标计算、传感器建注的Notes、模等航天任务的规划与评估;③Hints和Warnings以避免常见错误,辅助教学培训与推荐配合官方教程工程项目中的空间态势与数据库资源深化可视化与数据分析。理解。; 阅读建议:建议结合软件实际操作同步阅读,重点关注各章节中的属性设置、投影类型选择及高级模块说明,注意手册中标注的Notes、Hints和Warnings以避免常见错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值