您的位置:首页 > 其它

使用VS中各种错误 笔记

2013-04-07 18:39 162 查看
工作笔记 希望大家一起交流~~~~~~~~~~~~

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

struct addrinfo {

int ai_flags; /* customize
behavior */ // AI_NUMERICHOST 以数字形式返回主机地址 AI_PASSIVE 套接字地址用于监听绑定

int ai_family; /* address
family */

int ai_socktype; /* socket
type */

int ai_protocol; /* protocol */

socklen_t ai_addrlen; /* length in bytes
of address */

struct sockaddr *ai_addr; /* address */

char *ai_canonname; /* canonical
name of host */

struct addrinfo *ai_next; /* next in list */

.

.

.

};

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循环内, 导致内存泄露十分严重, 最后卡死。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐