相比最早的发布版本,在实际应用中 Cserialport必须要修改一些地方 后续会陆续放出

标记一: Run-Time Check Failure #3 - The variable 'comstat' is being used without being initialized

错误解决方法

方案1: 改变项目配置属性

一种解决方案是改变基本运行时检查(changing the runtime checks in project settings):在菜单Project->Project properties-> C/C++ -> Code generation-> Basic Runtime checks --> change to 'Default',在中文版中是:项目-〉属性-〉配置属性-〉C/C++代码生成-〉基本运行时检查-〉设置为默认,当将基本运行时检查改为默认之后,编译自然顺利通过了,向串口调试助手发送消息正常了,再从串口调试助手向SerialPortTest发送消息时,也正常了。


方案2:改变comstat变量属性

另一种解决方案是将CSerialPort.CPP中的COMSTAT comstat;改为static COMSTAT comstat;这样改了之后,debug顺利通过,然后调试,与串口调试助手相互发消息都OK了。为什么这样就能解决呢?其实当你使用debug解决方案时,它的基本运行时检查初始设置为:两者(/RTC1,等同于 /RTCsu),这个两者是指:堆栈帧(/RTCs),未初始化的变量(/RTCu)。由于它要检查未初始化的变量,所以将SerialPort.cpp中的COMSTAT comstat;改为static COMSTAT comstat;就可以正常使用CSerialPort类了。
     以上是在debug下的解决方案,当在Release编译状态时,你会发现并不需要将COMSTAT comstat;改为static COMSTAT comstat;就能编译成功并且发送接收消息正常。其实,在Release下,它的基本运行时检查初始设置已为默认。这应该也算是第一种解决方案之内。
    而当你将它设置为两者(/RTC1,等同于 /RTCsu)时,不论是否将COMSTAT comstat;改为static COMSTAT comstat;,编译都不能通过,报错““cl.exe”返回的结果有误。",这个应该是属于Release的问题了,另当别论了。

方案3:

添加代码:memset(&comstat, 0, sizeof(COMSTAT)); //VC6不用这句也可以用,2008就要加

本人使用2008 直接方案三

转载于:https://www.cnblogs.com/bigworld/archive/2012/05/31/2528211.html

串口项目——Cseiralport类的应用(1 )相关推荐

  1. Java 获取当前项目的类路径

    转载自 http://www.wolfbe.com/detail/201609/360.html# 摘要:web项目与普通Java项目获取类路径的方式有点不一样,因为web项目获取的是运行容器所在的路 ...

  2. 团队项目--设计类图

    团队项目-设计类图 负责人:董光耀 杨文雅 一.整体方案的制定 聊天工具的系统运行图 二.数据表设计 本聊天工具建立的数据库中各个表的设计结果如下面表格所示.每个表格表示数据库中的一个表. (1) 用 ...

  3. 《Java程序设计》实验指导——项目3 类与对象

    项目3 类与对象 实验目的 实验性质 实验内容 实验目的 掌握Java类的结构.类的定义.方法和属性的定义以及对象的实现:掌握类及其成员修饰符的使用:掌握构造函数的使用:方法的参数传递和返回值的用法: ...

  4. stm32f103gd32的usb虚拟串口,打印类printer组合设备

    stm32f103&gd32的usb虚拟串口+打印类printer组合设备@TOC stm32f103&gd32的usb虚拟串口,打印类printer组合设备 由于gd32和stm32 ...

  5. 结合继承的思想,定义项目经理类Manager及程序员类Coder【行为:工作work】

    /* 结合继承的思想,分析下列需求并实现 定义项目经理类Manager [属性:姓名 工号 工资 奖金] [行为:工作work] 定义程序员类Coder [属性:姓名 工号 工资] [行为:工作wor ...

  6. Java毕设项目餐饮类网站(java+VUE+Mybatis+Maven+Mysql)

    Java毕设项目餐饮类网站(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Websto ...

  7. java 如何创建项目 包 类

    myeclipse-10创建项目 包 类 File---->new---->java project 点击Finish 创建Java项目 右击,new下package 点击Finish 点 ...

  8. 第九天:信息打点--个人博客项目输入输出类留言板访问IPUA头来源

    个人博客项目&输入输出类&留言板&访问IP&UA头&来源 1.PHP-全局变量$_SERVER:[补完基础我回来解释,暂时不是很明白] 2.MYSQL-插入语法 ...

  9. vue入门项目:类新闻类移动端app

    vue入门项目:类新闻类移动端app 工程地址 github地址 项目介绍 使用框架 项目是一个使用vue脚手架开发的类新闻类应用 需要知识: vue vue-router axios mui min ...

最新文章

  1. 内核管理实战之虚地址转换为物理地址
  2. java -jar 和 -cp详解
  3. 查看linux版本信息
  4. gradlew wrapper使用下载到本地的gradle.zip文件装配--转
  5. QT使用之 手指滑动 | 物理惯性继续滑动动画的实现,根据不同速度实现不同动画效果
  6. sqlite随机读取N条记录
  7. 【NLP】情感分析:BERT vs Catboost
  8. Tomcat 7上具有RESTeasy JAX-RS的RESTful Web服务-Eclipse和Maven项目
  9. 普通计算机怎么算根号_大学专业介绍 | 计算机专业的真实就业情况
  10. ug建模文本怎么竖着_UG建模知乎答疑练习小集锦
  11. 这样就算会了PHP么?-11
  12. 机器学习速成课程 | 练习 | Google Development——编程练习:逻辑回归
  13. VC读取PE文件的OEP
  14. TSQL--查找连续登陆用户
  15. 如何让一个函数返回多个值(C#)
  16. PS-如何用ps软件看psd文件中的字体大小
  17. response返回中文乱码
  18. 哲学生活中必背的哲学原理
  19. 微信小程序-全局分享、自定义分享
  20. 如何实现自定义主题切换?

热门文章

  1. 计算机教育的进制转换,计算机数制及编码进制转换公开课教学教育资料.doc
  2. floyed java_Floyd算法java实现demo
  3. 海信计算机辅助统,海信计算机辅助手术系统将覆盖山东三级医院
  4. 笨方法python3_“笨方法”学Python3,习题 34 。
  5. android mysql sqlite_Android SQLite (一) 数据库简介
  6. 不定方程求解c语言_事业单位考试备考之数量关系:不定方程的求解
  7. mysql的natural join_MySQL基础之Natural Join用法
  8. python flask web开发 可视化开发_python web开发之——Flask入门教程
  9. DIY一只机器狗需要多少钱?最低仅900美元,斯坦福大学出品,代码已开源
  10. 同步逻辑电路和异步逻辑电路