Jeremy Lin
一、GDI+设置
这个不算是什么经验,在学校里面主要应用Opencv,基本没用过GDI+,到公司后才发现需要用到它。这里记录一下GDI+的配置过程,好让以后参考。
(1)在项目属性——>链接器——附加依赖项 添加 gdiplus.lib
(2)在stdfx.h中添加
#include "gdiplus.h" using namespace Gdiplus;
(3)为XXXApp类添加两个成员变量
GdiplusStartupInput m_Gdistart; ULONG_PTR m_GdiplusToken;
(4)在XXXApp中函数InitInstance()添加
GdiplusStartup(&m_GdiplusToken, &m_Gdistart, NULL);
(5)在XXXApp中ExitInstance()添加
GdiplusShutdown(m_GdiplusToken);
二、调试经验
当利用VS2010定位出new出现泄漏后,应该在下方(不一定是当前块内)该new变量不使用后delete;
今天遇到一个问题:发现delete后出现错误,原因是这个new的空间赋值给其他变量,因此delete这个变量之后就会出错。
三、free和delete如何知道需要释放的内存大小
在利用malloc或new分配内存空间的时候,实际分配的空间会比程序员申请的空间大。实际分配的内存空间前面有一部分用于保存所分配内存的大小、校验等信息。
free和delete
(1)delete释放空间的时候会调用相应对象的析构函数,new在分配空间的时候同时会调用对象的构造函数,对对象进行初始化,使用malloc则只分配内存;
(2)调用free之前需要检查需要释放的指针是否为空,使用delete则不用检查;
(3)free和delete不能混用。
C++中delete和delete[]的区别
(1)在基本数据类型的对象没有析构函数,new一个数组空间后,用delete和delete[]都可以;
(2)但对于类对象数据类型,只能用delete[];
Ref:http://www.cnblogs.com/charley_yang/archive/2010/12/08/1899982.html
四、Linux下调试入门
之前对Linux真的是一点儿也不熟悉啊,现在在学校需要苦补。
(1)Python在Linux下的调试工具winpdb,部分命令
bp 在某个地址下断点
bl 列出已存在的断点信息
bc 在系统中移除先前设置的断点
(2)在gdb中调试Python
gdb python
break 函数名
run
l 显示当前代码
n 下一步
s 跟进函数
print 输出打印内容
gdb打印string的值
print stringname.c_str()
五、远程FTP登录Ubuntu系统
ftp://usrname:[email protected]
5.7-9.5 MT
本文地址:http://blog.csdn.net/linj_m/article/details/39322911
更多资源 请关注 博客 LinJM-机器视觉 微博:林建民-机器视觉