使用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循环内, 导致内存泄露十分严重, 最后卡死。
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循环内, 导致内存泄露十分严重, 最后卡死。
相关文章推荐
- VS调试出现错误提示 无法将“obj\Debug\*.*”复制到“bin\Debug\*.*”,文件正在由另一个进程使用,因此该进程无法访问此文件
- 使用VS 2008(带sp1)编译VC 6.0的一个工程,出现下面的编译错误
- Qt-学习笔记(1):vs2015使用qt静态库5.5.1
- 使用vs编译出现 ”error LNK1169: 找到一个或多个多重定义的符号“的错误
- PHP 错误与异常 笔记与总结(15 )使用观察者模式处理异常信息
- php扩展开发笔记(7) 错误使用 php_base64_decode 导致内存溢出
- vs2017使用libfdk-aac 链接提示没有“COMDAT 0xF”错误解决
- 学习笔记-----关于VS中使用模板类出现无法解析的外部符号问题
- 今天使用VS2015遇到一个问题:"链接器工具错误 LNK2026 XXX模块对于 SAFESEH 映像是不安全的"
- 解决使用VS 2005 编译器 cl.exe 时弹出的 丢失 mspdb80.dll 错误.
- 在VS中使用Boost库出现Macro redefinition错误的解决方法(warning C4005)
- vs code 使用笔记
- VS2013使用笔记
- Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一)
- CocoaPods 的详细安装步骤,使用方法以及安装过程中出现的各种错误总结
- <MFC笔记> VS2013动态库文件的创建及其使用详解
- java8新特性学习笔记(二) 使用流(各种API)
- PHP学习笔记(7) 各种换行符和换行中的错误一则
- Sharepoint学习笔记---Debug--使用ULS Log跟踪Solution错误信息
- 在vscode中使用pylint-django插件解决pylint的一些不必要的错误提示