- 浏览: 497071 次
- 性别:
- 来自: 深圳
最新评论
-
hongzhounlfd:
很透彻,很详细
依赖注入和控制反转 -
jefferyqjy:
谢谢~言简意赅~很明了!
依赖注入和控制反转 -
elderbrother:
太好了,谢谢
依赖注入和控制反转 -
east_zyd_zhao:
终于搞明白了
依赖注入和控制反转 -
Dremeng:
完美,一看就懂理解透彻
依赖注入和控制反转
文章列表
C++编码中减少内存缺陷的方法和工具
编程技术 2010-03-26 12:37:26 阅读45 评论0 字号:大中小 订阅
摘 要:基于C++的软件的缺陷和错误大部分都和内存相关,预防、发现、消除代码中和内存相关的缺陷,成为程序员编写、调试、维护代码时的重要任务。该文基于“面向网络海量空间信息的大型GIS”课题的工程实践,提出和总结了如何使用C++语言机制、开发环境和相关质量保证工具来预防、发现各种编译期、运行期内存缺陷的方法和工具。关键词:C++;内存错误;内存泄漏;质量保证Techniques and Tools of Defending Memory-r ...
发现在子函数中的申请的动态内存数组赋值a[i]=b,其中i为负数,当时不会保存,因为动态内存寻址是可以找到-1,-2之类的地址的,但是破坏了可能破环其他的代码运行,当时的现象是_CrtDumpMemoryLeaks函数打印不出子函数之外的内存分配请,而在赋值之前是可以打印函数外面申请的内存情况的。
教训:发现内存崩溃,先利用工具检测,锁定范围,在寻找内存错误!
这是在vs2005环境下出现的错误!
解决方法:
1,在你的项目属性里面把编码方式改为"使用多字节字符集"
2把代码改成这样的形式_T("insert into MasterInfo (EditTime,GSMCCN,GSMCEN,CLSJ,FRDBCN,FRDBEN,POSTCODE,") 宽字符
本人用第一种方法顺利解决!
设置word背景颜色
- 博客分类:
- others
如何设置word背景颜色缓解眼睛疲劳 设置方法: 桌面->右键->属性->外观->高级->项目选择(窗口)、颜色1(L)选择(其它)将色调改为:85。饱和度:123。亮度...
DispatchMessage
<script></script><script type="text/javascript"></script>
函数功能:该函数分发一个消息给窗口程序。通常消息从GetMessage函数获得。消息被分发到回调函数(过程函数),作用是消息传递给操作系统,然后操作系统去调用我们的回调函数,也就是说我们在窗体的过程函数中处理消息 函数原型:LONG DispatchMessage(CONST MSG*lpmsg); 参数: lpmsg:指向含有消息的MSG结构的指针。 返 ...
TranslateMessage
<script></script><script type="text/javascript"></script>
目录
基本信息
参数
<script type="text/javascript"></script>
编辑本段基本信息
函数功能:该函数将虚拟键消息转换为 ...
PostQuitMessage
<script></script><script type="text/javascript"></script>
函数功能:该函数向系统表明有个线程有终止请求。通常用来响应WM_DESTROY消息。 函数原型:VOID PostQuitMessage(int nExitCode); 参数: nExitCode:指定应用程序退出代码。此值被用作消息WM_QUIT的wParam参数。 返回值:无。 备注:PostQuitMessage寄送一个WM_QUIT消息给线程的 ...
void Convert(double BMWL,double NORMAL,double *BMwindowVct,float *RR,int * rR,int lenz,double *RRproc){ double *X=NULL; double *Y=NULL; if (NULL==X) { X=new double[BMWL]; } if (NULL==Y) { Y=new double[NORMAL]; }
for(int i=0;i<BMWL;i++) { X[i]=BMwindowVct[i]; }
for(int i=0;i<NORMAL;i++) ...
void fft(COMPLEX *x, int m){
COMPLEX *w; /* used to store the w complex array */ int mstore = 0; /* stores m for future reference */ int n = 1; /* length of fft stored for future */
COMPLEX u,temp,tm; COMPLEX *xi,*xip,*xj,*wptr;
int i,j,k,l,le,windex;
double arg, ...
void PolyfitCf(int n_poly,int Nwin_length,int Npoly,double * ypoly,double **fitcoef){ int i,j,m; int nwin_length=Nwin_length; int poly_n=n_poly; int npoly=Npoly;
double *x=NULL;//[nwin_length]; if (x==NULL) { x=new double[nwin_length]; }
for (int ix=0;ix<nwin_length;ix++) { x[i ...
rstime[0]=ORTIME[0]; rsvalue[0]=ORVALUE[0]; int rst=1; int rsv=1; int ornum=lengthlrs; if (resampfz!=0&&ornum>=1) { double addtime=(double)1/(resampfz); double lineReSampleX[2]; double lineReSampleY[2]; lineReSampleX[0]=0; lineReSampleX[1]=0; lineReSampleY[0]=0; lineReSampleY[1]=0; ...
首先到www.zlib.net 下载个ZLIB,解压缩后打开zlib-1.2.3\projects\visualc6\zlib.dsw
选择Win32 LIB Release 按F7编绎生成zlib.lib
工程中使用时把
D:\zlib-1.2.3\projects\visualc6\Win32_LIB_Release\zlib.lib
D:\zlib-1.2.3\zlib.h
D:\zlib-1.2.3\zconf.h
拷贝到所在工程目录下
然后
#include "zlib.h"#pragma comment(lib,"zlib.lib&quo ...
内存查看方法:
头文件加入:
#include <windows.h>#define _CRTDBG_MAP_ALLOC#define USING_LEAK_CHECK 1 #ifndef _crtdbg_map_alloc #define _crtdbg_map_alloc #endif #include <stdlib.h> #if USING_LEAK_CHECK #include <crtdbg.h> #endif #include <stdi ...
// TimeTest.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <windows.h>#include <cmath>#include <ctime> #include <stdio.h>#include<time.h>#include "math.h"
//计算给定的时间是本年的第几秒int count(int year,int month,int day,int hour,int minter,int second){int i,s ...