<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[宋久擎的BLOG]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/songthin</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; songthin]]></copyright><item><title><![CDATA[已经有14年没更新博客了]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/121627777</link><guid>https://blog.youkuaiyun.com/songthin/article/details/121627777</guid><author>songthin</author><pubDate>Tue, 30 Nov 2021 10:59:24 +0800</pubDate><description><![CDATA[最近突然想起这里，来了才发现，已经14年没更新了，而且之前发的部分文章居然还有超过10万次的阅读量。感谢大家的阅读。

先就写到这吧。冒个泡，表明我的优快云密码没忘。哈哈。
]]></description><category></category></item><item><title><![CDATA[数字家庭 （一） 开机]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/3447839</link><guid>https://blog.youkuaiyun.com/songthin/article/details/3447839</guid><author>songthin</author><pubDate>Thu, 04 Dec 2008 23:21:00 +0800</pubDate><description><![CDATA[数码产品种类越来越多，让人目不暇接。当多种数码产品以及电脑、网络等放到一起的时候，就是我们充分发挥想象力，创造各种奇特的应用的时候了。就拿这开机说起吧。当只有一台电脑的时候，开机是件再普通不过的事情了，轻轻按一下电源，开机就实现了。而当有两台电脑时，一台电脑已经打开了，现在我要打开另一台，是不是一定要站起来，走过去，按下电源呢？答案就不一定了。这里我要举两个例子，一是用一台电脑为另一台电脑开机]]></description><category></category></item><item><title><![CDATA[C#中的try与finally]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/2192910</link><guid>https://blog.youkuaiyun.com/songthin/article/details/2192910</guid><author>songthin</author><pubDate>Mon, 17 Mar 2008 20:58:00 +0800</pubDate><description><![CDATA[ C#中的try与finally 1 finally与returntry-catch-finally是很常用的语法结构，用来控制可能发生异常时的程序流程，其中catch和finally至少要有一个。初学try语法时可能会要问一个问题：如果在try块中return，那么finally还会执行吗？答案是肯定的。这个非常容易验证，就不举例子了。这样带来一些很好的特性，例如我们可以在try]]></description><category></category></item><item><title><![CDATA[反对任何应用程序以任何理由抢焦点]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/1833619</link><guid>https://blog.youkuaiyun.com/songthin/article/details/1833619</guid><author>songthin</author><pubDate>Fri, 19 Oct 2007 22:16:00 +0800</pubDate><description><![CDATA[ 反对任何应用程序以任何理由抢焦点 今天登录网上银行，因有属于两个不同银行的账号要查寻，所以开了两个页面，第一个页面打开后我在上面输入了卡号，然后按TAB键切换到了输密码的地方。正当我低头输入密码的时候，另一个银行的页面加载完成了，于是自动跳到了前面，并且抢了用户的输入焦点，就这样在我没注意到的情况下我把第一个账号的密码输入到了第二个账号的卡号的地方。因为输入卡号的密码没有加密，密码明]]></description><category></category></item><item><title><![CDATA[我的一个长久以来的误区，关于C]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/1792068</link><guid>https://blog.youkuaiyun.com/songthin/article/details/1792068</guid><author>songthin</author><pubDate>Wed, 19 Sep 2007 22:46:00 +0800</pubDate><description><![CDATA[ 我的一个长久以来的误区，关于C 很久以前学C语言的时候就知道了#define，它可以用来定义宏，宏至少有两个作用，一是作为常量，二是作为很短的函数或代码段。后来学到C++，提到了取代#define的两个关键字，一是const，一是inline。上大一的时候学校也开了C语言课，后面有一章是介绍C++，其中涉及到C++的两个关键字，分别是const和volatile，前者用来定义常量，后]]></description><category></category></item><item><title><![CDATA[深入C++的new]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/1703966</link><guid>https://blog.youkuaiyun.com/songthin/article/details/1703966</guid><author>songthin</author><pubDate>Mon, 23 Jul 2007 21:46:00 +0800</pubDate><description><![CDATA[“new”是C++的一个关键字，同时也是操作符。关于new的话题非常多，因为它确实比较复杂，也非常神秘，下面我将把我了解到的与new有关的内容做一个总结。new的过程当我们使用关键字new在堆上动态创建一个对象时，它实际上做了三件事：获得一块内存空间、调用构造函数、返回正确的指针。当然，如果我们创建的是简单类型的变量，那么第二步会被省略。假如我们定义了如下一个类A：class A{  ]]></description><category></category></item><item><title><![CDATA[最近较忙，BLOG要暂停更新了]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/1658578</link><guid>https://blog.youkuaiyun.com/songthin/article/details/1658578</guid><author>songthin</author><pubDate>Tue, 19 Jun 2007 23:16:00 +0800</pubDate><description><![CDATA[面临毕业，面临入职，很多事要做，近期没有时间更新BLOG了。预计下月起可以恢复更新。 ]]></description><category></category></item><item><title><![CDATA[一些匿名语言元素]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/1604836</link><guid>https://blog.youkuaiyun.com/songthin/article/details/1604836</guid><author>songthin</author><pubDate>Fri, 11 May 2007 16:19:00 +0800</pubDate><description><![CDATA[ 一些匿名语言元素 本文将涉及Java语言的匿名类、C#语言的匿名委托和Javascript的匿名函数。由于具体的名称不同，这里统称它们为“匿名语言元素” 1 Java的匿名类匿名类是Java语言中很重要的特性，从很早开始就得到Java语言的支持了。例如：publicinterface MyInterface ...{    void doSomething()]]></description><category></category></item><item><title><![CDATA[结合短路法和逗号表达式，代替if和三目运算符]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/1550019</link><guid>https://blog.youkuaiyun.com/songthin/article/details/1550019</guid><author>songthin</author><pubDate>Tue, 03 Apr 2007 00:50:00 +0800</pubDate><description><![CDATA[C/C++系列语言中，if-else语句是最主要的条件分支语句：if(A) B;else C;其功能就是如果A成立，则执行B，否则执行C。类似的还是三目运算符：A?B:C;其功能与if语句类似，并且由于是表达式，它也有返回值，返回的就是被实际执行的语句的返回值。但如果既不使用if语句又不使用三目运算法，有没有办法也进行条件分支呢？答案是肯定的，方式就是使用“短路法”。C/C++系列语言的逻辑运算法]]></description><category></category></item><item><title><![CDATA[为什么需要override关键字]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/1536435</link><guid>https://blog.youkuaiyun.com/songthin/article/details/1536435</guid><author>songthin</author><pubDate>Wed, 21 Mar 2007 15:30:00 +0800</pubDate><description><![CDATA[为什么需要override关键字override是Object Pacsal和C#的一个关键字，用来表示一个方法是个重载方法（好像Java 1.5里也有，我对Java不是很了解），刚开始接触C#时还觉得这个关键字挺多余的，但仔细琢磨就能明白，这是个非常有用的关键字。C++就没有这个关键字，在声明虚函数时，只需要在函数声明前加上关键字virtual，而在重载虚函数时virtual则是可选的。即使]]></description><category></category></item><item><title><![CDATA[越帮越忙的珊瑚虫快捷键]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/1521534</link><guid>https://blog.youkuaiyun.com/songthin/article/details/1521534</guid><author>songthin</author><pubDate>Mon, 05 Mar 2007 20:59:00 +0800</pubDate><description><![CDATA[珊瑚虫的QQ增强包别的都好,就是这个快捷键太讨厌了.它默认内置了Ctrl+=的快捷键,而且还是全局的.只要按下Ctrl+=,就会跳出珊瑚虫一键锁定的对话框.我平常如果要锁定机器肯定是使用WIN+L快捷键了,即使是在WIN2000下,也会按CTRL+ALT+DEL再按L,也很方便,根本不需要珊瑚虫来多此一举.更麻烦的是,这个快捷键和我常用的很多快捷键冲突了,例如PHOTOSHOP中CTRL+=是图片]]></description><category></category></item><item><title><![CDATA[对《基于动态代码生成技术的动态对象工厂》一文的补充]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/1513177</link><guid>https://blog.youkuaiyun.com/songthin/article/details/1513177</guid><author>songthin</author><pubDate>Sat, 24 Feb 2007 02:00:00 +0800</pubDate><description><![CDATA[ 写完《基于动态代码生成技术的动态对象工厂》一文后我一直很奇怪为什么动态代码生成的方法相对于直接使用new有如此大的劣势？道理上说动态代码一旦生成，那么它和原生代码应该也没什么区别了，那么它的执行效率应该和相应的原生代码差别不大才对。仔细观察Creator.New版本的执行过程，我猜测问题并不是出在动态生成的代码本身，而是出在周围的代码上。在我的测试程序中，我对以下代码返复调用1000万次：]]></description><category></category></item><item><title><![CDATA[基于动态代码生成技术的动态对象工厂]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/1512120</link><guid>https://blog.youkuaiyun.com/songthin/article/details/1512120</guid><author>songthin</author><pubDate>Tue, 20 Feb 2007 21:46:00 +0800</pubDate><description><![CDATA[ C#中所有的引用类型的实例都需要在运行时动态创建，创建对象实例最常见的办法就是使用new操作符，使用new操作符就需要在编译器明确的知道要创建的对象的类型，如果在编译器并不能明确，就需要用到反射技术，例如：            String className = "MyNamesapce.MyClass";            ConstructorInfo ci = ]]></description><category></category></item><item><title><![CDATA[应用程序上屏蔽FLASH控件的右键菜单并获得左键消息]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/1510210</link><guid>https://blog.youkuaiyun.com/songthin/article/details/1510210</guid><author>songthin</author><pubDate>Wed, 14 Feb 2007 22:13:00 +0800</pubDate><description><![CDATA[ 使用FLASH做界面美化是一种较为常见的方式，FLASH动画制做简单，美观大方，而且将FLASH嵌入到应用程序界面上也是非常容易的，只要放置一个Shockwave Flash控件即可。但这样做出来的界面有两个问题，一是在FLASH上点击右键会有FLASH的菜单，二是在FLASH上点击的鼠标消息从应用程序里是获取不到的，FLASH控件并不会向用应程序发送WM_LBUTTONDOWN等鼠标消息。]]></description><category></category></item><item><title><![CDATA[我的QQ终于能传文件了]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/1478614</link><guid>https://blog.youkuaiyun.com/songthin/article/details/1478614</guid><author>songthin</author><pubDate>Wed, 10 Jan 2007 01:48:00 +0800</pubDate><description><![CDATA[前一段时间我的QQ不能收发文件了，开始以为是网络不好，但并非如此，我又以为是因为我家里同时使用了带路由的猫和无线路由器，受这两层网关的影响而不能传，但后来发现把电脑直接接在不带路由的猫上也不能传文件。后来又发现另一台由我装的电脑上也不能传文件，这回怪了，看来问题应该出在我的安装过程上。因为我主观的认为QQ的安装组件里全都是像宠物、自动更新这些没用的东西，所以在安装时看也没看就把所有能去掉的选项都去]]></description><category></category></item><item><title><![CDATA[设想一种防U盘病毒的方法，不知道是否管用]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/1465173</link><guid>https://blog.youkuaiyun.com/songthin/article/details/1465173</guid><author>songthin</author><pubDate>Thu, 28 Dec 2006 00:44:00 +0800</pubDate><description><![CDATA[如今U盘病毒实在是太普遍了，也太烦人了。把U盘往别人电脑上一插，再往自己电脑上一插，自己的电脑就很可能中毒了。从前一阵的RavMon.exe，到后来的tel.xls.exe，再到大规模泛滥的viking，病毒基本上都是利用Windows的自动播放功能来运行自己，进而传播的。可能当初MS在设计这个功能时认为能生产光盘的人很少，所以往盘里面加恶意程序的机会也不多，而如今随着网上ISO、光盘刻录机的流行]]></description><category></category></item><item><title><![CDATA[我为什么喜欢用WIN2000而非WINXP]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/1448898</link><guid>https://blog.youkuaiyun.com/songthin/article/details/1448898</guid><author>songthin</author><pubDate>Tue, 19 Dec 2006 14:16:00 +0800</pubDate><description><![CDATA[WINXP的光芒已经几乎被WINDOWS VISTA盖过去了，但到今天我的台式机用的还是WIN2000，原因是什么？其实原因非常简单，就在输入法上。WINXP和OFFICE XP开始引入了高级文字服务，结果是带来了一个让我摸不着门的输入法切换系统。由于我平常都喜欢使用五笔，如果遇到了只有拼音的电脑我宁愿用英文，但XP下我经常需要切换好几次才能找到我想要的五笔输入法（我只用OFFICE2000自]]></description><category></category></item><item><title><![CDATA[今年的“武林外传”会是谁呢？]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/1442063</link><guid>https://blog.youkuaiyun.com/songthin/article/details/1442063</guid><author>songthin</author><pubDate>Wed, 13 Dec 2006 23:02:00 +0800</pubDate><description><![CDATA[我从1997年开始就不看春晚了，算来已经有10年了。05年春节时我看了一通宵的《钢之炼金术师》，看完很受触动。06年春节期间，《武林外传》和春晚展开PK。我并没有在第一时间发现这个片子，后来经人介绍才发现了它。我从BT、电驴上下载，下完一集看一集，直到三十晚上，看了整整一晚上，实在是太过瘾了。眼看2006年即将过去，07年的武林外传又会是谁呢？ ]]></description><category></category></item><item><title><![CDATA[感谢周杰伦]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/1426856</link><guid>https://blog.youkuaiyun.com/songthin/article/details/1426856</guid><author>songthin</author><pubDate>Sat, 02 Dec 2006 18:10:00 +0800</pubDate><description><![CDATA[周杰伦应该不是第一个擅长说唱的人，但他对将说唱普及到大众的过程中却是功不可没的。我一直欣赏换个角度看问题，本来嘛，谁也没规定“唱歌”就必须用七个音符来表现，说唱同样是一种很不错的表演形式，特别是，对于像我这样天生五音不怎么全，但嘴皮子耍的快的人，说唱给了我们走进K歌厅的自信。假期里有一次和朋友们去K歌，大家一展歌喉，其中不乏唱的很不错的。但我如果只是坐着一声不吭也不合适啊，唱一曲吧，但我唱歌的]]></description><category></category></item><item><title><![CDATA[用内联汇编调虚函数 理解VTABLE原理]]></title><link>https://blog.youkuaiyun.com/songthin/article/details/1390137</link><guid>https://blog.youkuaiyun.com/songthin/article/details/1390137</guid><author>songthin</author><pubDate>Fri, 17 Nov 2006 13:16:00 +0800</pubDate><description><![CDATA[虚函数和动态绑定是C++面向对象编程的核心内容之一。要理解C++虚函数的调用本质，就不得不说VPTR和VTABLE。所有拥有虚函数的C++类的大小都比可看到的内容多至少4个字节（如果派生树中存在多继承，就可能多于4个字节），这多出来的4个字节就是VPTR，它位于每个实例的最前方。VPTR的内容就是一个unsigned int的地址，指向一个内存区域，而这个被指向的内存区域就是VTABLE，所谓虚函]]></description><category></category></item></channel></rss>