goback
月期刊咨询网
当前位置:首页>>微电子应用论文>>正文

MFC技术在Vega应用程序开发中的应用探析


所属栏目:微电子应用论文
发布时间:2011-02-23 16:50:51  更新时间:2023-06-02 16:24:30

已签订领域:化学工程/制药,医学题目:**作为抗癌剂***催化剂**取代苯丙***SCI四区 直击了解更多选题

已签订领域:环境科学-公共卫生题目:用**电***生物传感器**癌症**SCI二区 直击了解更多选题

已签订领域:环境科学-公共卫生题目:**氧化石墨烯纳米***材料的生物传感器***结肠癌生物**癌胚****SCI二区 直击了解更多选题

已签订领域:环境科学-公共卫生题目:聚合物纳米***a-硫辛酸***在神经炎症***应用***临床分析SCI二区 直击了解更多选题

已签订领域:计算机视觉/遥感/智能驾驶/汽车题目:**深度学习***高分辨率遥感***车辆检***SCI三区 直击了解更多选题

已签订领域:企业管理题目:社会交流***领导***倾向***方向SSCI,SCI三区,二区 直击了解更多选题

已签订领域:企业管理题目:**中小企业社交媒体****可持续绩效***因素探析SSCI,SCI三区,二区 直击了解更多选题

已签订领域:环境科学,公共卫生题目:利用硫氨酸***石墨烯纳米***电化学***传感器实现癌胚抗原***SCI二区 直击了解更多选题

已签订领域:环境科学,公共卫生题目:基于抗***纳米复合***高性能***早起癌症诊断***SCI二区 直击了解更多选题

已签订领域:经济,能源题目:***政治冲突****绿色金融、金融**、气***化***SCI四区 直击了解更多选题

已签订领域:经济,能源题目:冲***中能源不安全对***和环境***SCI四区 直击了解更多选题

已签订领域:教育题目:大学生***社交媒体***成绩影响***SSCI三区 直击了解更多选题

已签订领域:教育题目:巴基斯坦***学习实施的***的**SSCI二区 直击了解更多选题

已签订领域:教育题目:大学生对****下网络教学**思***SSCI二区 直击了解更多选题

已签订领域:教育题目:**教师和学生对影响***医疗**效果的****看法SSCI三区 直击了解更多选题

已签订领域:计量经济学题目:**货币、黄金、**和美国***的波动***相互依赖性:**数据的分析SSCI一区 直击了解更多选题

已签订领域:计量经济学题目:东南亚***内**趋同***中等收入**:新**的***SSCI二区 直击了解更多选题

已签订领域:建筑,历史题目:历史景点在***旅游发***中的***影响**(**研究:**历史***)SSCI,SCI一区 直击了解更多选题

已签订领域:领导力,管理题目:量化**领导对角色绩效***响:**冲突与工作自主性***作用SCI二区 直击了解更多选题

已签订领域:信息技术,教育题目:数字***环境对学生学习成绩***:游戏**和***现实在教育***作用SSCI四区 直击了解更多选题

已签订领域:信息技术,教育题目:信息技术***续决策之间的***:创新***识的**作用SSCI二区 直击了解更多选题

已签订领域:信息技术,教育题目:课程**对大学生***发展的影响:学习习惯和***的***作用SSCI一区 直击了解更多选题

已签订领域:信息技术,教育题目:信息技术***与可持续决策**:高等***学生认知***作用SSCI二区 直击了解更多选题

已签订领域:计算机,英语教学题目:英语****学**与人工智能****学习SCI三区 直击了解更多选题

已签订领域:计算机,音乐题目:评价**和音乐**对学生成绩***的影响SCI三区 直击了解更多选题

已签订领域:人体工程,心理学题目:基于预先处理模型***模式人体工程学***女生肌肉骨骼***预防行为*** 直击了解更多选题

已签订领域:人体工程,心理学题目:制定一个***人体工程学**,以识别、优先考虑***职业压力源的*** 直击了解更多选题

已签订领域:人体工程,心理学题目:多重工作**压力和工作***:***工效学方法的混合方法*** 直击了解更多选题

已签订领域:数学,经济题目:数学模型***结构调整和经济转型****研究 直击了解更多选题

已签订领域:数学,经济题目:***时间**数学模型在***媒体营销**中的应用*** 直击了解更多选题

已签订领域:数学,经济题目:***时间**模型在***物流运**能力***研究 直击了解更多选题

已签订领域:数学,经济题目:碳****经济的数学模型****研究 直击了解更多选题

已签订领域:农村经济题目:农****社区**发展***分**SCI四区 直击了解更多选题

已签订领域:农村经济题目:创业***对乡村****发展的****SCI四区 直击了解更多选题

已签订领域:农村经济题目:农村创业****的空间*****究SCI四区 直击了解更多选题

已签订领域:医学,电化学题目:纳米颗粒*****及其在癌症****和重金属*****检测中的应用SCI三区 直击了解更多选题

已签订领域:医学,电化学题目:基于*****前列腺癌药物氟****检测方法的*****腺癌治疗SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:气海***********金纳米颗粒的新型****************粘土及其对胃癌********************抗癌SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:基于抗***********GCE纳米***********材料的高性能*******************早期癌症SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:用******电化学生物传感器*****癌症***************SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:基于*****石墨烯纳米****材料的生物传感******用于测定结肠*****生物*****SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:聚合***纳米复合电极*****疏辛酸电化学检测*********SCI二区 直击了解更多选题

已签订领域:医学,电化学题目:利用****酸/**糖**石墨烯纳米复合修饰的电化学*****SCI二区 直击了解更多选题

已签订领域:环境能源,绿色投资题目:环境能源、绿色投资、城市化和环境类方向SCI三区 直击了解更多选题

已签订领域:计算机,英语教学题目:英语教学**人工智能***习SCI 直击了解更多选题

已签订领域:计算机,音乐题目:评价**和音乐形式*学生***影响SCI三区 直击了解更多选题

已签订领域:经济,绿色投资题目:***能源效率***化之间的***SCI三区 直击了解更多选题

已签订领域:经济政策题目:***阐明**印度经济***的关系SCI三区 直击了解更多选题

已签订领域:经济,金融题目:***国家的能源***重***SCI 直击了解更多选题

已签订领域:经济,金融投资题目:***融新之间***直接投资***SCI三区 直击了解更多选题

已签订领域:经济,数学,统计学,管理学题目:非***想重限制下***袭评价***SSCI四区 直击了解更多选题

已签订领域:经济,数字,管理学题目:基干***生产系统***SSCI四区 直击了解更多选题

已签订领域:农业,土壤科学题目:不同***有机覆盖***养分循环SSCI 直击了解更多选题

已签订领域:电力与能源系统,管理题目:pv***氢定价的***随***型稀SSCI,SCI二区 直击了解更多选题

已签订领域:建筑规划,计算机题目:使用***因子分析法***可持续***SCI三区 直击了解更多选题

已签订领域:工程技术,纺织工程,材料科学题目:甘***淀粉酶的提取***退浆中的应用SCI四区 直击了解更多选题

已签订领域:渔业,鱼类生理学题目:饲料***镉毒性的交互***生长***病理学***SCI二区 直击了解更多选题

已签订领域:渔业,鱼类生理学题目:****鱼水源***起的生******SCI三区 直击了解更多选题

已签订领域:金融,环境经济题目:*****预算在能效、绿色***的作用SCI 直击了解更多选题

已签订领域:应用数学/计算物理题目:***非线性库***自相位调制***SCI三区 直击了解更多选题

已签订领域:计算机,医学检测题目:***COVID-19***力***算法***决策SCI三区 直击了解更多选题

已签订领域:计算机,物联网,智慧城市题目:基于***物联网****算法SCI三区 直击了解更多选题

摘要:简要介绍Vega应用程序的基本框架;重点分析基于MFC的Vega应用程序的基本框架和开发中所遇到的两个线程问题,并提供相应的解决方法。 论文网,期刊发表网,职称论文发表
  关键词:仿真;MFC;线程;Vega
  1Vega应用程序基本框架
  1.1Vega应用程序开发模式简介
  Vega是一种用于实时仿真及虚拟现实应用的高性能软件环境和工具,主要包括两个部分:一个是被称为LynX的图形用户界面的工具箱,另一个则是基于C语言的Vega函数库。LynX的主要功能是通过可视化操作建立起三维场景模型,并将其保存在一个应用定义文件(.ADF)中,而后应用程序就可以通过调用Vega的C语言函数库来对已建好的三维场景进行渲染驱动。
  1.2Vega应用程序基本框架分析
  Vega编程类似于C编程,包括完整的C语言应用程序接口,为软件开发人员提供最大程度的软件控制和灵活性。对于WindowsNT平台上的Vega应用,主要有三种类型:控制台程序、传统的Windows应用程序和基于MFC(MicrosoftFoundationClasses)的应用。但无论是哪一种应用,建立Vega应用程序都需要以下三个步骤:
  第一步,初始化Vega系统并创建共享内存等;
  第二步,通过ADF应用定义文件加载三维模型或是通过显式的函数调用来动态加载三维模型;
  第三步,通过调用配置函数设置完Vega系统后,就开始了Vega应用程序的主循环,主循环的作用是对三维视景进行渲染驱动。它主要分两步,即对于给定的帧速进行帧同步和对当前的显示帧进行必要的处理。
  以下是一个最基本的Vega应用程序框架:
  main(){
  vgInitSys();//初始化
  vgDefineSys(“.adf”文件);//定义
  vgConfigSys();//配置
  while(1){
  vgSyncFrame();//同步帧
  vgFrame();//帧内处理
  //应用程序特定代码}
  这是一个控制台的应用程序。但是Vega只是一个包含十几种不同模块的函数集,并没有窗口函数(虽然Vega函数库中提供了一些窗口和事件管理的函数,但这些函数在实际应用中还远远不够),它缺乏面向对象能力,不符合当前流行的软件设计思想,因此需要一个窗口系统来完成Vega实时仿真的程序设计。而如果在Windows平台上开发,具有良好图形用户界面的应用程序将更受到欢迎。对于基于窗口的应用程序来说,Vega系统通过提供一个窗口初始化函数调用来完成,即只要把上述的初始化函数vgInitSys()替换成vgInitWinSys()即可。该函数通过获得窗口句柄来初始化Vega的显示窗口。Vega窗口和Windows窗口如图1所示。
  2MFC技术在Vega应用程序设计中的应用
  2.1MFC技术与Vega应用程序的接口分析
  鉴于Vega函数是用C++语言编写以及在Windows平台上进行开发,所以就选择了VisualC++这种Windows环境下最好的C++编译器作为开发工具。VisualC++中的MFC类库已是一个相当成熟的类库,特别是其基于文档/视图结构的应用程序框架,已成为开发Windows应用程序的主流框架结构。该框架结构能够将程序中的数据和显示部分进行有效的隔离,并能将一个文档与多个视图进行对应。
  为便于开发出基于MFC的Vega应用程序,Vega通过继承MFC中的CView类而派生出一个子类zsVegaView。这个zsVegaView类提供了启动一个Vega线程最基本的功能,还以虚函数的形式定义了特定的应用程序要进行操作的通用接口,因此用户的应用程序只需从zsVegaView派生出新类并根据需要重载必要的虚函数即可。从设计模式的观点来看,它是采用了模板方法模式(TemplateMethod)。模板方法模式是一种类行为模式,其意图是定义一个操作算法的骨架,而将一些具体步骤延迟到子类中去,这是代码重用的一种基本技术。
  2.2基于MFC的Vega应用程序的线程分析
  通过采用模板方法可以将开发一个基于MFC应用程序的工作量减少到最低,这是Vega系统提供的方法,但由于MFC类库并不是一个支持多线程访问的类库,而派生的子类是通过在OnInitialUpdate()函数中调用基类的runVega()来启动Vega线程,并将派生类的指针作为参数传给新启动的子线程,这恰是问题的所在。由于源代码中的类空间和线程运行时的线程空间是可以相互交迭的,亦即不同的线程在运行时可以访问相同的类的实例(对象),而MFC类库本身设计时并未考虑到多线程访问,因此在线程间传递视图类CView(其子类对象也是一个CView对象)是不安全的。
  2.2.1在Vega线程中更新视图时访问保护异常错误的分析
  错误分析:在单文档多视图中,在Vega线程中改变文档数据后通过调用函数UpdateAllViews()来更新所有相应的视图时立即出现了访问保护异常的错误。这是因为用类CView的派生类来嵌入与Vega功能有关的功能代码对于CView的关联只使用了CView类的视图窗口的句柄,这种设计违反了软件设计的基本准则:高内聚,低耦合。
  解决方法:为了既能保持由模板方法设计带来的好处,又能达到高内聚、低耦合的目标,最好的方法就是进行切割分离,即将所有与Vega系统有关的数据和操作单独作为一个基类CVega来实现,并保持用户的扩展接口,然后只需从CVega类派生出新类并将视图窗口的句柄作为参数进行传递。由于Windows平台采用消息驱动机制,所以当Vega线程改变数据后可以利用视图窗口的句柄发送消息来通知各个视图窗口及时更新。
  2.2.2切换三维场景时地址访问保护错误的分析
  错误分析:Vega应用程序一般通过应用程序定义文件(.ADF)载入三维场景模型,而在实际开发的过程中,当打开应用程序时需要在不退出该应用程序的前提下需要进行三维场景切换,即载入新场景;但是,当Vega线程未退出时重新载入场景会失败,而在切换场景时让正在运行的线程自然终止而重新开启另一个线程则出现了一个地址访问保护的错误。该错误发生在Vega启动时的初始化系统函数vgInitWinSys()执行的过程中,原因是引用了无效的指针。vgInitWinSys()函数的作用主要是初始化Vega系统并创建共享内存等,同时在后台开启了一个Vega窗口子线程,该子线程根据传送的窗口句柄参数创建一个与该句柄对应的Windows窗口相同大小的Vega窗口,并将它覆盖在Windows窗口上,这样Vega系统的渲染窗口就可以嵌入到基于MFC的视图窗口上。该子线程的创建是必需的,但却无法终止它,这是因为它是Vega函数内部创建的,而线程又隶属于进程,只有进程结束了,所有的线程才全部退出。所以,即使创建它的父线程已“死”,它却还“活”着,但因此而保留了一些无用的参数如无效的指针等。而且,当第二个线程启动时函数vgInitWinSys()却不再启动新的子线程而是继续保留原来没“死”的窗口线程,这就导致了地址访问保护的错误。
  解决方法:就是创建一个单独的Vega进程。其设计思想是通过将同一个应用程序中的不同部分进行相互黑箱化,彼此之间仅通过定义好的接口进行访问,这就最大限度地减小各部分之间的相互影响。Windows不是一个实时操作系统,而是一个比较稳定的系统。由于虚拟仿真系统一般都是实时的,在它的视景驱动模块中将处理大量的实时仿真结果数据,所以必须保证该模块中的两个进程之间能快速有效地进行通信。
  在WindowsNT平台上,进程间通信的主要方式有:动态数据交换(DDE)、网络动态数据交换(NetDDE)、Windows套接字(WindowsSockets)、命名管道(NamedPipes)、内存映射文件(Memory-MappedFiles)、NetBIOS、远程过程调用(RPC)以及磁盘文件等。在视景驱动模块中,由于Vega进程和MFC主进程将运行在同一台PC上,所以主要应用于网络环境PC间的进程间通信的NetDDE、WindowsSockets、NetBIOS以及RPC都不适合,而通过磁盘文件来进行数据交换也不可行,这样就只能直接在内存中进行通信。因为在Ve



月期刊平台服务过的文章录用时间为1-3个月,依据20年经验,经月期刊专家预审通过后的文章,投稿通过率100%以上!
  • 水刊之王,无版面费,几乎不拒稿的SCI期刊(热门学科)

    2025-04-30
    不同学科领域sci期刊中,这些期刊中有高质量的sci期刊,也有部分水刊,但这些水刊同样具有一定的影响力和认可度。今天在这里为大家介绍部分热门学科领域 水刊之王,无版面费,几乎不拒稿的SCI期刊 ,供大家参考: 1.《Scientific Reports》 IF:3.8 年发文量:22037 研
  • 涂料工业是核心期刊吗?北大核心+CSCD扩展版,版面费低(附论文模板)

    2025-04-30
    《涂料工业》杂志是中国涂料行业中历史最为悠久的专业性期刊,创刊于1959年,是行业内的权威刊物。对于涂料工业是核心期刊吗?是核心,而是双核心,北大核心+CSCD扩展版,版面费低(附论文模板),详情如下: 1、基础信息 ISSN:1001-2249 CN:42-1148/TG 复合影响因子
  • 2025年中科院期刊分区表:机械/化工/土木/海洋/地质一区top期刊

    2025-04-29
    2025年3月20日,中科院期刊分区发布后,科研作者们不再暂时担心期刊分区变化而影响毕业或职称评审了。由于期刊分区涵盖学科领域较多,今天在这里为大家介绍 工程技术机械/化工/土木/海洋/地质一区top期刊 ,供大家参考: 一、工程技术机械一区top期刊 1、INTERNATIONAL
  • 中国航海期刊是核心么?北大核心+CSCD扩展版(附论文格式模板2023版)

    2025-04-29
    《中国航海》是一本在航海领域具有广泛影响力的学术期刊,反映中国航海科技各领域的成果及水平,促进中国航海科技的发展提高,促进国内外的学术交流。中国航海期刊是核心么?北大核心+CSCD扩展版,具体详情如下: 1、基本信息 创刊时间:1965年 主办单位:中国航海学会
  • IF:3.1,材料类见刊周期短的sci期刊:materials

    2025-04-28
    Materials期刊的主要研究方向包括材料科学、化学、物理化学、冶金工程、物理应用、凝聚态物理等。今天在这里详细为大家介绍Materials期刊的详细信息: 1、Materials期刊官网 https://www.mdpi.com/journal/materials 期刊ISSN:1996-1944 2023-2024最新影响因子:3.1
  • 最新 | 《国际中文教育核心期刊目录》发布,20种期刊入选(附名单及投稿方式)

    2025-04-25
    2025 年 4 月 22 日,世界汉语教学学会在教育部中外语言交流合作中心发布了《国际中文教育核心期刊目录》。这是国际中文教育领域首个专业性评价,旨在引领学术研究聚焦现实需求和理论前沿,推动学术体系建设与实践创新,助力构建国际中文教育知识体系。以下是对该目录
  • 最新!2025年宇航领域进展发布

    2025-04-25
    2025年宇航领域科学问题和技术难题重要研究进展已于2025年4月24日在中国航天大会主论坛上正式发布。此次发布活动是由中国宇航学会和中国航天大会学术委员会委托中国科学院院士、中国航天科技集团有限公司研究员王巍进行的。 重要研究进展概述 中国宇航学会组织航天领域
  • 西北工业大学!计算机学院博士生在《Nature Communications》期刊发表论文

    2025-04-23
    近日,计算机学院科学智能(AIforScience)交叉研究中心研究成果Identifying potential risk genes for clear cell renal cell carcinoma with deep reinforcement learning发表于《 Nature Communications 》期刊。西北工业大学博士生鹿大智、天津大学副教授郑岩和四
  • 南方科技大学/浙江大学!在国际顶尖学术期刊《Science》发表论文

    2025-04-21
    2025 年 4 月 17日,南方科技大学刘心元教授团队联合浙江大学洪鑫教授团队(深圳格拉布斯研究院-光明高等研究院研究副教授张宇峰、博士后王彪、硕士研究生陈铮及博士后刘吉人为论文共同第一作者),在国际顶尖学术期刊《Science》上发表了题为:Asymmetric amination o
  • 厉害!全球发布:哈工大打造机器人领域顶级国际期刊《智能机器人(英文)》(SmartBot)

    2025-04-19
    4月14日消息,据哈尔滨工业大学官微发文,哈尔滨工业大学与Wiley出版集团联合推出的国际学术期刊《智能机器人(英文)》(SmartBot)首期创刊号于2025年3月正式面向全球发布。 期刊核心亮点: 1.国际编委团队:期刊汇聚了来自20个国家和地区的49位国际编委,其中包括26
回到顶部