2012年8月15日

CLR指针

摘要: pin_ptr ——定身法千万不要小看了pin_ptr的能力,它是Native世界和Managed世界之间的桥梁。在通常情况下,任何时候,GC都会启动,一旦进行GC,托管堆就会被压缩,对象的位置就会被移动,这时候所有指向对象的Handle都会被更新。但是,往往有时候程序员会希望能够把托管堆上的数据(的地址)传给Native接口,比如,为了复用一个Native的高效算法,或者为了高效的做某些其它事情,这种情况下普通的Native指针显然不能胜任,因为如果允许Native指针指向托管堆上的对象,那么一旦发生了GC,这些得不到更新的Native指针将指向错误的位置,造成严重的后果。办法是先把对象“定 阅读全文

posted @ 2012-08-15 10:40 Daywei 阅读(759) 评论(0) 推荐(0) 编辑

2012年6月29日

WPF学习笔记1

摘要: 最近公司部分产品界面要重新开发,原先界面是MFC,现在WPF,对于我这个对前沿技术不是很关注的菜鸟来说傻了。不是对前沿技术不是不关注,而是现在的技术更新太快,尤其是微软,跟在后面跌跌撞撞的,总有一天会累死。原本打算转linux下服务器端开发的,没辙公司人手不够,就让我上了。就当给自己增长点知识吧。废话少说,从helloworld开始吧! 在此之前先了解一下wpf的结构吧WPF的构成组件如下所示,其中PresentationFramework、PresentationCore、milcore三部分是WPF的核心组件WPF的编程架构 WPF整体的编程架构如图2所示,可以看到,它其中包含了文档... 阅读全文

posted @ 2012-06-29 16:55 Daywei 阅读(192) 评论(0) 推荐(0) 编辑

2012年5月27日

软件开发者路线图:从学徒到高手——Apprenticeship Patterns:Guidance for the Aspiring Software Craftsman

摘要: 这是一篇算是关于这本书的读后感吧!文笔不好,欢迎拍砖。 记得初次看这本书时还是刚参加工作几个月的时候,随便的翻了翻,从头到尾都是文字描述,看不到实质性的编程理论和技巧方法之类,我就没耐心的深入看下去。直到现在工作快两年了,再次看见这本书,虽然还是有一些刚刚毕业时候的年少气盛浮躁的性情,但还是硬着头皮好好的看完这本书。我不得不为两年一年多前的自己的行为感到惭愧甚至看不起鄙视当初的自己,太无知了。现在想想当初如果好好看完这本书,也许现在的我至少比此时的我进步更大,更强,走了太多的弯路,浪费了太多的时间和精力,一直徘徊在进入软件开发者行列的入门大门,直到现在才感觉自己才是入门级的水平。从一个过来人. 阅读全文

posted @ 2012-05-27 15:30 Daywei 阅读(1392) 评论(0) 推荐(0) 编辑

2012年4月27日

UML和模式应用学习笔记(8)——交互图和类图 (补充)

摘要: 准则:应该花费时间使用交互图进行动态对象建模,而不仅是使用类图进行静态对象建模UML关键字是对模型元素分类的文本修饰。关键字 含义 用法示例《actor》 类元为参与者 在类图中,置于类元名称之上《interface》 类元为接口在类图中,置于类元名称之上{abstract}抽象元素;不能实例化在类图中,至于类元名称或操作名称之后{ordered} 具有强制顺序的一组对象 在类图中,助于关联的端点准则:在绘制UML草图时(追求速度、简便性和创造性),建模者通常会将关键字简化为类似‘<interface>’或‘<I>’的形式。泛化、抽象类、抽象操作在UML中,泛化(gen 阅读全文

posted @ 2012-04-27 18:18 Daywei 阅读(1233) 评论(0) 推荐(0) 编辑

2012年3月8日

高精度除法

摘要: 高精度与单精度除法 在高精度除以单精度时,从高位到低位逐位相除。最需要注意的问题是,后一位继承前一位的余数问题。 设高精度的数位数字为a[i],单精度数为b,第i+1位除b后的余数位r,把r加到i位时,应乘以进制X,即s=Xxr+a[i].void divide(BIGFLOAT a,int b,BIGFLOAT* c){ int s,i,r=0; c->sign=a.sign; //这里规定b为正数 for(i=a.ni-1;i>=0;i--) //计算整数除以b ... 阅读全文

posted @ 2012-03-08 16:04 Daywei 阅读(1801) 评论(0) 推荐(0) 编辑

2012年3月7日

高精度乘法计算

摘要: 高精度乘法计算基础1.高精度浮点运算方法 高精度浮点(Floating Point,FP)运算可以转换成整数型运算。由于高精度浮点数可以看成是由整数部分(Integer Part,IP)与小数部分(Decimal Part,DP)的组合,因此其乘法可以看成以下3种运算的组合,即整数x整数(IxI)、整数x小数(IxD)和小数x小数(DxD)。用表达式表示,则FP1*FP2=IP1*IP2+(IP1*DP2+IP2*DP1)+DP1*DP2 (1)对于IxI型运算,所得的结果仍是整数 (2)对于DxD型运算,所得结果仍是小数 (3)对于IxD型运算,所得到的计算结果是一个浮点数,即可能包... 阅读全文

posted @ 2012-03-07 12:55 Daywei 阅读(3382) 评论(0) 推荐(1) 编辑

2012年3月6日

高精度数加减运算

摘要: 使用字符串读入数据定义高精度数类型#define MAXLEN 3000typedef struct{ int sign; //0正 1负 int ni; //整数长度 int a[MAXLEN];//整数数字 int nd; //小数长度 int d[MAXLEN];//小数数字}BIGFLOAT; void assign(int sign, char s[], BIGFLOAT *x){ int i,ip,m,c; for(i=0;i<MAXLEN;i++) x->a[i]=0; ... 阅读全文

posted @ 2012-03-06 17:04 Daywei 阅读(462) 评论(0) 推荐(0) 编辑

高精度数的基本表示方法

摘要: 高精度数的储存形式1.使用字符串 字符串是由一个一个的字符连接而成的,每个字符可以用于保存一个数位单元。可以把一个数字作为字符存放在字符串中,也可以把数字转换成ASCII码来保存。由于美意字符的最大ASCII码的值是255,因此可以使用256进制来保存数据。例如,把十进制456789变成一个字符串:(456789)10 = (6,248,85)256 = chr(6)&chr(248)&chr(85)若把数字作为字符串来保存,则在计算时需要进行字符与数值转换。使用这种方法的好处是能解决小数点的表示问题2.使用数组 如同字符串一样,若使用数组来储存超高精度的书,每个数组单元可以作 阅读全文

posted @ 2012-03-06 13:30 Daywei 阅读(1099) 评论(0) 推荐(0) 编辑

2012年2月14日

(个人私有)技术经验管理

该文被密码保护。 阅读全文

posted @ 2012-02-14 10:56 Daywei 阅读(16) 评论(0) 推荐(0) 编辑

2011年12月27日

C++ Singleton模式

摘要: C++ Singleton (单例) 模式最优实现written on Thursday, June 4, 2009索引静态化并不是单例 (Singleton) 模式饿汉模式懒汉模式 (堆栈-粗糙版)懒汉模式 (局部静态变量-最佳版)范例代码和注意事项 (最优实现)扩展阅读参考资料我非常赞成合理的使用 设计模式 能让代码更容易理解和维护, 不过我自己除了简单的 单例 (Singleton) 模式 外, 其它都很少用 :-)可耻的是, 直到前段时间拜读了 C++ In Theory: The Singleton Pattern, Part I, 我才发现自己的 单例 (Singleton) 模式 阅读全文

posted @ 2011-12-27 17:59 Daywei 阅读(729) 评论(0) 推荐(1) 编辑

导航

技术追求卓越 梦想创造未来