- 博客(11)
- 资源 (1)
- 收藏
- 关注
转载 vs中检测内存泄漏的方法
使用vs的内存检测有以下几种方法。在debug模式下以F5运行:方法一:[html] view plain copy#define CRTDBG_MAP_ALLOC #include stdlib.h> #include crtdbg.h> int main() { char*
2016-07-28 11:08:07 531
原创 异常调试——运行时
程序中一般的问题,可以在debug模式下,设置断点,输入日志等方式排除,但运行时发生的异常,往往很令人头疼,下面介绍几种运行时排查异常的几种方法:1.通过map文件确定产生异常的模块和函数1.1 map文件是什么map文件是记录PE文件中各个模块及符号的偏移地址和加载地址的文本文件。1.2 从哪获取map文件在vs中做如下设置:property->Configura
2016-07-12 18:21:41 440
原创 默认拷贝构造函数
1.什么时候用到拷贝构造函数? 以一个已经存在的对象初始化同类型的另一个对象时,如:class A; A a; A aa(a);作为函数参数时,产生临时对象,调用拷贝构造函数进行初始化void fun(A a); 作为函数返回值时,产生临时对象A fun(){ A a; return a;//产生临时对象,并调用拷贝构造函数初始化}
2016-05-12 16:55:23 1203
原创 默认构造函数
关于默认构造函数两个常见的误解:1.任何一个class,如果没有定义默认构造函数(default constructor) ,编译器都会为其合成一个默认构造函数2.编译器合成的默认构造函数,会设定会明确设定数据成员的默认值编译器不是总会为class合成默认构造函数,只是在编译器需要时才合成,注意:是编译器需要,而不是程序需要。那在什么情况下,编译器会合成默认构造函数呢?
2016-05-12 13:46:36 506
原创 多重继承——菱形继承(二义性)
菱形继承的定义如下,从Base出发,至AB汇合,因此成为菱形继承。class Base;class SubA : public Base;class SubB : public Base;class AB : public SubA, public SubB;这会导致两个问题: 1.二义性 , 如果 Base定义了一个函数 fun, 在
2016-05-11 14:28:38 641
原创 数据成员的初始化
初始化的时机:静态数据成员,属于类,程序启动时,加载类信息并初始化非静态数据成员,属于类的实例(即对象),在实例化一个对象时初始化初始化的位置:静态数据成员,在类的定义中初始化,注意类的“声明和定义”, int Object::StaticDataMember = 100;非静态数据成员,在构造函数的定义中初始化,这里有两种方式:初始化列表&构造函数体,在实例化
2016-05-10 22:20:23 1167
原创 gcc参数之fmessage-length
默认情况下,gnu工具链编译过程中,控制台输出的一行信息是不换行的,这样,当输出信息过长时(如编译错误时的信息),会导致你无法看到完整的输出信息,加入-fmessage-length=0后,输出信息会根据控制台的宽度自动换行,这样就能看全输出信息了。
2015-07-21 17:31:57 3047
原创 关于服务程序(service)的命令(windows\linux)
一、在windows系统中,操作服务有 net 和 sc 两个命令:1、net用于打开没有被禁用的服务,NET命令是功能强大的以命令行方式执行的工具。它包含了管理网络环境、服务、用户、登陆大部分重要的管理功能,使用它可以轻松的管理本地或者远程计算机的网络环境,以及各种服务程序的运行和配置,或者进行用户管理和登陆管理等。关于这些完全可以写一篇20页以上的文档了。。。。启动和关
2015-07-21 14:20:35 812
原创 vc-找不到预编译头文件
在将vc工程从低版本向高版本升级的时候,可能出现下面的问题, Cannot open precompiled header file: '...\projectName.pch': No such file or directory意思是找不到预编译文件,解决办法:1、不使用预编译,但这样做不是很好,可能原来的工程我们是希望使用预编译的,而且都生成了默认的预编译头文件 stdafx.h
2015-07-15 18:12:09 596
原创 搭建linux开发环境-linux访问windows共享文件夹
虽然目前linux系统下也提供了很多程序开发工具,但windows的易用性还是难以取代的,当前通常的做法是在windows下编辑代码,然后在linux环境下编译、调试,具体来讲,在代码文件放在windows上建立的共享文件夹,然后在linux环境下,访问该文件夹并执行代码的编译、调试工作。linux环境下访问windows共享文件夹的命令如下:# mount -t
2015-06-25 17:59:08 374
多功能foobutton
2010-03-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人