使用VS中各种错误 笔记

工作笔记  希望大家一起交流~~~~~~~~~~~~


20130407 

1,在类中定义一个字符串指针,构造是给该指针赋值,但是在使用是发现其内容为空  --------------------------没有给该指针分配空间,new char(100) 分配100字节

2,工作中使用的VS工程似乎建立的时候为ascii 代码936,导致在使用类向导添加按钮的响应函数时注释中的中文不能保存,保存要转换文件编码,我将那些注释去掉,导致问题是资源的ID和之前建立的重复,响应函数调用的是别的按钮。

工程中的乱码 实在不明白。建议: 建立工程时为UNICODE、语言为英文、不要用中文注释。   

3,SendTo 函数rSocketAddress地址错误是,onreceive 得到10054号错误。


4,程序中一个VIEW类的按钮响应函数 写入
PostQuitMessage(0);

表示推出该程序,发现一个问题,该view类的析构函数不会被调用,虽然说进程结束,不会还有内存泄漏问题,该方法总是让人不舒服。

网上有人说可以向主窗口发送 WM_CLOSE消息解决。未验证。


5,addrinfo 成员变量前缀ai -------------------------addrinfo

  1. struct addrinfo {
  2.      int ai_flags; /* customize behavior */    // AI_NUMERICHOST 以数字形式返回主机地址 AI_PASSIVE 套接字地址用于监听绑定
  3.      int ai_family; /* address family */
  4.      int ai_socktype; /* socket type */
  5.      int ai_protocol; /* protocol */
  6.      socklen_t ai_addrlen; /* length in bytes of address */
  7.      struct sockaddr *ai_addr; /* address */
  8.      char *ai_canonname; /* canonical name of host */
  9.      struct addrinfo *ai_next; /* next in list */
  10.      .
  11.      .
  12.      .
  13.    };

6, Windows 在*。exe中触发了一个断点,

其原因可能是堆被损坏,这也说明 Components.exe 中或它所加载的任何 DLL 中有 bug。原因   

char *p = new char[100]; 

p++;

delete p;  也就是 释放内存指向的位置被修改


查看程序代码发现  类似问题,

char p = new char [100];

char  test[] = "123"

p = test;

delete p;  //p值发生变化。


7,  char *p = new char (100)   //意思申请到一字节内存,赋值100 , 分配100字节应为 char[100]  .


8,cvLoadImage 不可放到一个while循环内, 导致内存泄露十分严重, 最后卡死。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值