自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

刘卓的专栏

学习是生活的一部分

  • 博客(19)
  • 收藏
  • 关注

原创 the New Iteration

 上午阅读了微软的白皮书 《 New Iteration 》地址是:http://windowsclient.net/wpf/white-papers/thenewiteration.aspx# 收益颇多。WPF给我们带来的不只是一个开发平台,更重要的是一种开发过程和设计理念。以下的文字不是原文的翻译,是看完 New Iteration 后的感想,如有错误之处,麻烦各位朋友指正。wpf将原来的一个

2008-03-12 12:11:00 898

原创 NET2.0的配置文件

很长时间没写blog了,这两天在看配置文件。NET2.0的配置文件很方便,无论做什么程序都会用到。但领导要求在dll中使用配置文件,我闲来无事想在项目开始之前做一些试验。发现如果在dll中使用默认的exe.config文件,在调用dll的客户端会带来冲突。就是客户端无法分辨哪个是dll的配置文件,哪个是应用的配置文件。结果是dll在应用的配置文件中完成查询、添加配置的操作。我翻看了msdn,才发现

2007-04-27 11:43:00 2689

原创 在托管代码中释放托管和非托管资源

     IDispose Finalizer

2007-03-26 13:35:00 2564 2

原创 使用指针指向托管内存,和使用句柄指向本地内存

          在编写托管代码的过程中,往往需要利用非托管内存的简单分配删除的特性,例如想生成一个大对象,使用之后想马上释放,就很适合在非托管内存中建立这个大对象。建立后,在托管代码中,需要一个句柄能指向这个大对象的内存,如下图所示。  这个过程可以使用Marshal类的AllocHGlobal方法,这个方法使用 GlobalAlloc 从进程的非托管内存中分配内存,并操作非托

2007-03-26 13:32:00 2389

原创 托管代码中的指针

 interior_ptr是native pointer的超集,native pointer能做的,Interior pointer也一样能做。当垃圾回收器移动对象时,Interior pointer能随之移动,并始终指向该对象。------《Pro Visual C++_CLI and the .NET 2.0 Platform》p815 Interior_ptr可以指向

2007-03-12 17:00:00 7149

原创 非托管类,值类,引用类的相互调用

  在.NET平台下开发,unsafe代码依然很重要,因为现有的很多代码都是iso-c++的,涉及到很多指针操作和运算。如果将其都转化为托管代码,工作量非常大。因此在托管代码中使用unsafe类型是非常重要的手段。本文在《Pro Visual C++ CLI and the dot.NET 2.0 Platform》的基础上,针对非托管类、值类和引用类的相互调用问题进行了总结。class   

2007-03-12 12:39:00 3480

原创 C++/CLI的值类型

 C++/CLI的值类型有很多限制:1 值类型提供了默认的无参数构造函数,在其中所有值类型中的成员变量都自动初始化,如果是值类型成员变量,初始化为0;如果是指针型变量,初始化为空。不允许用户覆盖默认的无参构造函数。2 不允许提供拷贝构造函数。3 不允许覆盖赋值操作符。  >p374 因此值类型只适用于简单的变量封装,如果涉及复杂的操作符重载,变量初始化,及复

2007-03-12 09:51:00 1384

原创 在C#中调用托管和非托管代码的问题

  C#中使用非托管指针* 值针可以在带有unsafe的函数中正常使用。必须在函数前,static关键字后加入unsafe关键字。如static unsafe void Main(string[] args){}在项目属性中,选中Allow unsafe code复选框。C#中使用托管跟踪句柄^ 跟踪句柄可以直接赋值到C#对象中。

2007-03-12 09:50:00 2401

原创 CLR的终结操作Finalizer

  终结操作的步骤:.NET2.0中CLR的 终结操作Finalizer非常有用,可以确保托管对象在释放内存的同时不会泄漏本地资源。以下是《框架设计(第2版):CLR Via C# 》相关章节的总结,图取自该书。1在一个对象被new之前,如果该对象的类定义了Finalizer方法,则该对象的一个指针被放到终结链表中。2在回收器开始工作时,遍历堆中不可达对象,将其视为可回收的

2007-03-07 13:06:00 1345

原创 C++/CLI的函数覆盖

隐式覆盖指iso-c++的函数覆盖,不同的是必须在子类覆盖函数最后加上关键字override如:virtual void Speak() override...{} 隐藏覆盖表示子类与父类同名的函数不再覆盖相应父类函数,而是新建这个函数。即与父类没有多态关系。ref class ParentClass...{ virtual void Print();}ref clas

2007-03-07 12:52:00 1413

原创 C++/CLI C#调用dll速度比较和内存分配时间测试

     ref class in dll value class in dll

2007-03-02 14:03:00 5007 1

原创 C++/CLI中的引用类型

ref class R{private:   int x;public:   R(int xx): x(xx) {}};R^ o = gcnew R(3);  //在托管堆R os(3);   //也在托管堆o 和 os 之间的区别在它们的生存期上,或者说得更加具体一些,是对它们生存期的控制力。 如果编写的是托管代码,你可能不会介意放弃对内存的控制权,反而愿意信任运行库和垃圾回收器为你管理内存

2007-03-01 12:50:00 3045

原创 C++/CLI前途如何?

C++/CLI在05年就出现了,那时的语法还没有现在那么优雅,随着2年多的完善,C++/CLI也慢慢成熟。MS也在大力推广C++/CLI,但是作为程序员,应不应该在第一时间接受这一门新语言?很少有人说得清。也许很多人一开始有接触C++/CLI的冲动,是因为MS和Clippman的大名 。天知道新语言会不会经受住时间的考验?不管怎样,.NET平台的潮流也让整个公司与时俱进,公司的决策是想在下一代

2007-03-01 11:27:00 2920 1

原创 OBBTree的构建

毕业设计做碰撞检测,发现VTK中有vtkOBBTree类,可以为我利用,不禁感慨VTK真是庞大。由vtkOBBTree::BuildLocator() 构建OBBTree。其核心算法是vtkOBBTree::BuildTree(),是个递归函数。由三维数据构在的OBBTree,可以在算法中通过this->DataSet变量访问。vtkOBBTree::BuildTree(vtkIdLi

2006-12-31 22:45:00 4720

原创 在VC6下编译MTL程序,出现的C4786错误的原因和解决办法

编译时产生C4786的warning,原因是标识符的长度超过255个字符的在调试版中将被截断。原因在于标准库中的组件几乎全部采用模板技术实现,为了便于使用,采用了typedef提供了简短的替代品,然而对于编译器来说,仍然采用实际的类型标识符,因此导致类型标识符长度快速增长,尤其是当模板参数同样采用模板类型实例化时更为明显。VC6调试版(Debug)的代码生成器仅仅支持255个字符长度的标识

2006-09-20 12:28:00 1846

原创 MTL中向量、矩阵的初始化

MTL的类定义很有特点, 对向量类而言, 定义了两个类, 分别负责用一个值初始化和用数组初始化。这两个类分别是typedef dense1D VectorContainer;typedef external_vec VectorExtern;其中VectorContain分配内存,并且用resize(size_t)函数重新分配内存;VectorExtern不分配内存,只负责将数组导入对

2006-09-20 12:22:00 1640

原创 Gouraud和phong的区别

  Gouraud phong

2005-08-05 22:32:00 7419

原创 在标准window窗口下,显示opencv处理过的图片

我在学习opencv的时候,想在标准window窗口下显示图片,经过学习,可以在对话框显示。但是问题出现了,当用opencv处理该图片时,调用opencv函数:cvCvtColor(img.GetImage(), imgtemp, CV_BGR2GRAY);处理过的图片存在imgtemp中,建立时是iplimage,处理过却是cvarr。不能使用cvvimage的drawtohdc()函数。我想可

2005-04-03 08:49:00 3517 1

原创 我的第一个openCV程序,是改别人的成果,呵呵。

我的第一个openCV程序,是改别人的成果,呵呵。实现了简单的图像处理功能,更多的程序,会随着我的学习逐渐添加。// cvmedianfilterDlg.cpp : implementation file//#include "stdafx.h"#include "cvmedianfilter.h"#include "cvmedianfilterDlg.h"#ifdef _DEBUG#define

2005-03-30 15:27:00 6008 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除