摘要: 忘了什么时候起,脑子里就存在了这样的观点: 1. 局部变量应尽量定义在代码起始处 2. 局部变量的构造是在进入函数时进行的,其时间与局部变量声明的位置无关 我记得这个观点应该来自权威的书籍或某些具有丰富经验,在我看来就如同凡人眼里手持法杖、身着华服的法师一般神圣的开发大牛。这个观点在当时我的看来是如此的权威,以至于素爱折腾的我也在整个大学期间未予质疑。 由于这个特性,我一直以来就有一个疑问,在RA... 阅读全文
posted @ 2011-05-19 19:34 泉子 阅读(1965) 评论(0) 推荐(1) 编辑
摘要: 半年的时间,办公室里的人已经走马灯似的换了一个又一个,除了两个领导和几个老资格的员工外,其它的座位似乎都已经至少换了一次主人了。 这是我心中难以思议的景象,在我的认知里,我们这个行业是世界上最依赖于无形资产的行业之一,这些无形资产,就是程序员脑袋里装着的那些有关公司产品的各种知识以及在工作过程中所积累的专业技能。 一个更加显然的事实则是,多半的企业,并没有将这些无形资产固化沉淀在公司的能力。人来人往,除了产品的源代码增加或变动了一些,公司依然还是那个公司,并没有任何变化。就如同学校一般,学生一茬一茬的换,而校园,除了今天打破块玻璃明天换了个广播喇叭之类的,不会有任何改变。 我已经在三家半大不小 阅读全文
posted @ 2011-05-05 08:51 泉子 阅读(575) 评论(5) 推荐(0) 编辑
摘要: 一、const_cast 来自MSDN的说明: 一个指向对象或对象成员的指针可以显式地转换为带有不同const、volatile或__unaligned属性的同一类型。对于指针和引用,转换结果引用的是原对象。对指向数据成员的指针,转换结果指向原指针(转换前)指向的对象。通过转換得到的指针、引用及(指向数据成员的)指针来进行写操作可以导致未定义的行为——取决于引用对象的类型。 const_cast... 阅读全文
posted @ 2011-04-29 12:01 泉子 阅读(1341) 评论(0) 推荐(0) 编辑
摘要: VB一般可以生成两种特殊的DLL,一个是ActiveX DLL和ActiveX Control(*.ocx)。这两种DLL都是VB支持的标准类型,在VB自身的例子中有,你可以参考。更详细的介绍可以参考我写的《Visual Basic编程晋级:ActiveX控件》(http://china.zealsoft.com/articles/vbactivex/)一书的“第十六章 其他ActiveX部件 ”。 VB中创建的DLL只是COM组件,无法作为输出函数的DLL,其实这只是个错误的说法。其实MS非常狡猾,如果你是个VB疯狂发烧友的话,应该早就狂试出这种可以创建输出函数的DLL的方法。 VB编译文. 阅读全文
posted @ 2011-04-18 09:42 泉子 阅读(2621) 评论(0) 推荐(0) 编辑
摘要: VisualStudio6.0编译PWLib总结1. 我的环境Visual Studio 6.0Visual Studio.NET 2010Microsoft Platform SDK for Windows Server 2003 R2Microsoft SDKsMicrosoft DirectX 9.0 SDKMinGW2. 注意尝试编译前,请务必阅读http://www.cnblogs.com/yedaoq/archive/2011/02/22/1960866.html。本文只涉及部分我在我的编译环境中遇到的,并且官方编译说明中没有包含的问题。3. 项目变动、编译顺序在官方文档中,提到的 阅读全文
posted @ 2011-02-22 15:11 泉子 阅读(1830) 评论(0) 推荐(0) 编辑
摘要: 在Windows上编译PWLib本文来自:http://www.cnblogs.com/yedaoq/archive/2011/02/22/1960866.html原文:http://www.voxgratia.org/docs/pwlib_windows.html#download 1. 介绍本文所介绍的在Windows上编译PWLib的过程与OpenH323站点上介绍的编译过程是类似的。本文档为MSVC6和VS.NET2003下的编译过程提供了详细的描述。2. 前提一. VC6,VS2003,VS2005或VC++2005 Express Edition。注意不可使用VS2003的免费版本 阅读全文
posted @ 2011-02-22 09:38 泉子 阅读(3339) 评论(7) 推荐(0) 编辑
摘要: 作为英语小白,金山词霸是我电脑的必备软件。用金山词霸的历史几乎与用电脑的历史是相同的。之前好多年用的都是金山词霸2005,后来想起作为一个IT业人士,总用盗版似乎不够仗义。我一直比较尊敬金山,因为我觉得它是中国最早冒尖的技术型企业,办公软件WPS、词霸,快译等等在国内只此一家,毒霸等安全产品也在市场上占有三分地盘,另外还有一些诸如打字通之类的软件。应该说,在面向所有终端用户的通用软件领域,金山是产品比较丰富比较有技术含量的。或许金山这个名字也暗示着在求伯君眼中,互联网是一座巨大的金山。然而,显然这座金山并没能成为金山的金山。若论原因,或许盗版当为罪魁祸首。以金山词霸的装机量和零售价,如果大家都 阅读全文
posted @ 2011-01-13 17:13 泉子 阅读(2141) 评论(2) 推荐(0) 编辑
摘要: 最近接触到这个函数,因此了解了一下,总结一下列在这。我了解它的出发点是如何通过它向活动窗口输入字符,这是很多程序都有的功能(我猜Visual Assist X就用了这个功能)。根据MSDN,此函数模拟按键操作,将一些消息插入键盘或鼠标的输入流中,Windows对它进行处理,生成相应的WM_KEYDOWN或WM_KEYUP事件,这些事件与普通键盘输入一起进入应用程序的消息循环,它们不仅可以转换为WM_CHAR消息,还可以转换为其它(诸如加速键)等消息。使用它来发送字符消息,并没有看起来那么简单。这有两个需要考虑的问题:1. 输入法的转换。例如需要向活动窗口发送一些英文字符,我们可能想象这样来实现 阅读全文
posted @ 2010-12-30 17:05 泉子 阅读(27591) 评论(2) 推荐(3) 编辑
摘要: 今天去看了看传说中的华为招聘,结果没呆多久,做了几道笔试题和一道上机题,然后就回来了。没什么大意思,不过这道上机题还是个亮点,哈哈。 题目看起来是很简单的,就是给一个字符串,要求将其中的空格字符替换为逗号。 而且程序模板都已经定好,main的内容写好了,转换函数的原型也定义好了。实在是非常简单,简单得让我有点纳闷。很快写好程序: 运行一下,问题出来了,程序会在这行代码出现异常: memcpy(*pOutputString, pInputString, lInputStringLen); 异常内容是Access violation访问空指针,查看一下各变量值。发现问题是*pOutputStrin 阅读全文
posted @ 2010-12-12 23:07 泉子 阅读(1638) 评论(1) 推荐(0) 编辑
摘要: 在上周完成的一项工作中,发现了一个当时有点困惑的问题: 当编写供VB调用的C++ DLL时,必须使用def文件来定义导出符号,否则VB程序将链接失败。我们都知道使用def文件是为了避免C++编译器对函数进行重命名,另一个达到相同效果的替代方式是使用extern "C"标识符。若DLL由C++、C#、Java等调用,后者可以工作得很好;然而VB不可以,即便使用了extern "C"来标识导出函数,... 阅读全文
posted @ 2010-11-17 14:19 泉子 阅读(2086) 评论(0) 推荐(0) 编辑