摘要: 辛辛苦苦翻译了那么长,突然间发现网上早有这篇文章的翻译,贴过来吧。进一步深入 有了前面的最简单的例子,让我们再回过头去填补一些空白。虽然这个异常回调机制很棒,但它并不是一个完美的解决方案。对于稍微复杂一些的应用程序来说,仅用一个函数就能处理程序中任何地方都可能发生的异常是相当困难的。一个更实用的方案应该是有多个异常处理例程,每个例程针对程序的特定部分。不知你是否知道,实际上,操作系统提供的正是这个功能。 还记得系统用来查找异常回调函数的 EXCEPTION_REGISTRATION 结构吗?这个结构的第一个成员,称为 prev,前面我们曾把它忽略掉了。它实际上是一个指向另外一个 EXCEP.. 阅读全文
posted @ 2012-06-20 15:31 salomon 阅读(1253) 评论(0) 推荐(0) 编辑
摘要: 一个使用VS2010编辑Python的工具http://pytools.codeplex.com/使用python处理Excel表格的包http://pytools.codeplex.com/wikipage?title=PyvotHarry Pierson写的关于怎么为IronPython写deguger的文章http://devhawk.net/tag/debuggerreference:http://blogs.msdn.com/b/jmstall/archive/2011/09/20/python-tools-for-vs.aspxhttp://blogs.msdn.com/b/jms 阅读全文
posted @ 2012-06-20 14:12 salomon 阅读(313) 评论(0) 推荐(0) 编辑
摘要: http://www.cnblogs.com/stbchina/archive/2010/01/25/Tech-Trend-of-Microsoft-UI-Automation-Testing-Part-1.htmlhttp://www.cnblogs.com/stbchina/archive/2010/01/28/Tech-Trend-of-Microsoft-UI-Automation-Testing-Part-Two.htmlWindows Hook:http://flhs-wdw.blog.sohu.com/131436129.htmlhttp://flhs-wdw.blog.sohu 阅读全文
posted @ 2012-06-13 11:18 salomon 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 一年前写的东西,整理了一下,贴出来。 大学时期我眼中的C++和C语言一样一样的,因为课时不够老师讲C++的时候只讲了前半部分语法(相当于C语言学了两遍),关于面向对象部分的东西还没讲到课程就结束了,秉着混日子的学习态度后边的也没看。这也造成了我为期四五年的天真无知的认为我懂C++,直到近期翻看《STL源码剖析》《Boost文档库》才老脸一红有了自知之明。现在想来即使老师把后半部分面向对象讲了也不算真正的懂C++(那破教材应该扔了,而且大学C++的课程时长应该翻三倍),C++的水太深了。 站在程序员的角度来说,一门成熟的编程语言应该具备以下一些东西:简洁易懂标准统一的语法语义,功能齐全的类... 阅读全文
posted @ 2012-06-08 16:18 salomon 阅读(5263) 评论(10) 推荐(6) 编辑
摘要: 最近一直在看STL和Boost,源码里边好多涉及到模板元编程技术,简单了解一下,备忘(Boost Python中的涉及模板元的部分重点关注一下)。范例引入// 主模板template<int N>struct Fib{ enum { Result = Fib<N-1>::Result + Fib<N-2>::Result };};// 完全特化版template <>struct Fib<1>{ enum { Result = 1 };};// 完全特化版template <>struct Fib<0>{ en 阅读全文
posted @ 2012-06-04 17:52 salomon 阅读(29234) 评论(3) 推荐(4) 编辑
摘要: 跨语言相互调用,一直是不同编程语言间代码交互Interop的难题,微软一直致力于给C++与C#找个理想的”翻译“,这么多年在语法语义(当然还应该包含编译器)和ABI(应用二进制接口)层面做了不少尝试,进而产生了C++\CLI,C++\CX和COM等技术产物,但这些产物如同现实中自然语言翻译一样,并不算太完美(java同其他语言交互的机制不太了解)。在这点上Python似乎把问题解决的很好,这也就是为什么Python会叫做胶水语言。正是由于python的这一特性,所以它被广泛用于自动化测试中。python与其他语言交互: 1.使用ctypes 模块调用 C 动态库:如果被测试模块是以C语言编.. 阅读全文
posted @ 2012-06-01 16:08 salomon 阅读(4286) 评论(0) 推荐(1) 编辑
摘要: 翻看自己以前写的代码,突然间看到以前模拟的一个自动化测试架构的实现。幸好自己有写学习笔记的习惯,整理一下,贴出来,以备忘。特性会作为元数据嵌入到程序集,通过反射机制能够得到这些元数据信息。程序员可以自己定义特性,对特性进行某种格式的定义,并利用特性来影响自己编写代码编译后的程序集(assmbly)自定义特性在编译时作为元数据被编译到程序集中,运行时通过反射机制被读取。这应该是这个自动化测试架构的立足点。特性的应用:特性一般会在设计框架时很有用。 1. 利用反射机制,作为特性的元数据可以反过来在运行时影响代码的运行配置项,(例如:Windows Form程序中[STAThread]和[M... 阅读全文
posted @ 2012-05-30 19:49 salomon 阅读(15356) 评论(2) 推荐(2) 编辑
摘要: 目前而言,Python 3.2存取XML有以下四种方法: 1.Expat 2.DOM 3.SAX 4.ElementTree以以下xml作为讨论依据<?xml version="1.0" encoding="utf-8"?><Schools> <School Name="XiDian"> <Class Id="030612"> <Student Name="salomon"> <Scores> <Math>98& 阅读全文
posted @ 2012-05-28 23:54 salomon 阅读(24859) 评论(3) 推荐(4) 编辑
摘要: 共有两种库:一种是LIB包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library。一种是LIB包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library。共有两种链接方式:动态链接使用动态链接库,允许可执行模块(.dll文件或.exe文件)仅包含在运行时定位DLL函数的可执行代码所需的信息。静态链接使用静态链接库,链接器从静态链接库LIB获取所有被引用函数,并将库同代码一起放到可执行文件中。关于lib和dll的区别如下: (1)lib是编译时用到的,.. 阅读全文
posted @ 2012-05-25 13:55 salomon 阅读(346) 评论(0) 推荐(1) 编辑
摘要: 最近编写一个了一个工具要在WinPE下执行,总是出错提示信息是“The program can't start because MSVCP100.dll is missing from your computer. Try reinstalling the program to fix this problem"。匆匆百度了一下,果然一堆灌水帖。果断转入Stackoverflow和Codeproject,查询无果。去MSDN,有所发现,有人问过类似问题,一路按图索骥,直到找到以下一篇帖子,才终于明白怎么回事。 原来当你使用VS创建一个可执行工程,VS一般会自动配置工程为Deb 阅读全文
posted @ 2012-05-25 11:37 salomon 阅读(11147) 评论(1) 推荐(1) 编辑