<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[堂郎的专栏]]></title><description><![CDATA[如果不能努力改掉怀习惯，那就努力养成好习惯吧。]]></description><link>https://blog.youkuaiyun.com/leonlux</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; leonlux]]></copyright><item><title><![CDATA[将Android源代码导入Intellij IDEA]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/20717225</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/20717225</guid><author>leonlux</author><pubDate>Fri, 07 Mar 2014 16:22:54 +0800</pubDate><description><![CDATA[（转）将Android源代码导入Intellij IDEA]]></description><category></category></item><item><title><![CDATA[开了新的blog]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/19399433</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/19399433</guid><author>leonlux</author><pubDate>Tue, 18 Feb 2014 10:18:25 +0800</pubDate><description><![CDATA[去年用octopress架了blog，好久没写东西了，再度开始blogging，欢迎访问]]></description><category></category></item><item><title><![CDATA[WPF中几个属性对Layout的影响]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/2294418</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/2294418</guid><author>leonlux</author><pubDate>Tue, 15 Apr 2008 16:48:00 +0800</pubDate><description><![CDATA[Width，Height，Max/Min/Width/Height这几个参数会在MeasureCore里限制传给Measure的availableSize参数，使之调整后再传给 MeasureOverride，然后再在MeasureCore里利用这几个属性和MeasureOverride返回值生成DesiredSize。HorizontalAlignment和VerticalAlignme]]></description><category></category></item><item><title><![CDATA[一个Max和Min的技巧]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/2294401</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/2294401</guid><author>leonlux</author><pubDate>Tue, 15 Apr 2008 16:41:00 +0800</pubDate><description><![CDATA[假设有[a,b]的闭区间，我输入一个数，如果这个数在该区间内，则返回该数，如果大于上届则返回上届，小于下届则返回下届，我们可以这样实现:Max( Min(x, b), a) ]]></description><category></category></item><item><title><![CDATA[关于scheme的quote]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/2234223</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/2234223</guid><author>leonlux</author><pubDate>Mon, 31 Mar 2008 22:05:00 +0800</pubDate><description><![CDATA[scheme很简洁，喜欢用同一种形式来表达不同的概念，比如一部分表达式求值 和一部分数据的表示就采用了同一种形式，所以为了区分到底是表达式求值还是表示数据，quote就登场了。对于一个identifier，如果它用在expression的地方，那么它就会被当作variable在求值，但是如果在这个地方我们想要用这个identifier本身（即把它作为symbol），抑制它的求值，就需要在ide]]></description><category></category></item><item><title><![CDATA[The process that WPF determine the layout of UIelements]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/2226413</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/2226413</guid><author>leonlux</author><pubDate>Fri, 28 Mar 2008 17:01:00 +0800</pubDate><description><![CDATA[ (Extract from >)The argument to MeasureOverride (which is commonly called sizeAvailable) is generally the size of the elements container minus the elements Margin property. This argument can ra]]></description><category></category></item><item><title><![CDATA[Register 和 RegisterAttached 实现的区别]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/2221604</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/2221604</guid><author>leonlux</author><pubDate>Wed, 26 Mar 2008 23:57:00 +0800</pubDate><description><![CDATA[在调用Register时传进去的Metadata可以在另外的地方被覆盖而不起作用，在调用RegisterAttached时传进去的Metadata在另外的地方可以被“覆盖”，但是始终是有效的。这一点可以从他们的实现看出来，其实也就是传给RegisterCommon的Metadata不能被覆盖。在RegisterCommon时传进去的Metadata在任何type在SetValue的时候]]></description><category></category></item><item><title><![CDATA[关于窗口的Parent&Child关系与Owner&Owned关系]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/1891770</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/1891770</guid><author>leonlux</author><pubDate>Sun, 18 Nov 2007 23:56:00 +0800</pubDate><description><![CDATA[ 先说明一下两个窗口是Parent&Child关系或是Owner&Owned关系会对他们有些什么影响（摘自MSDN）Parent&Child               If an application creates a child window that is larger than the parent window or positions a child window ]]></description><category></category></item><item><title><![CDATA[不要使用PostMessage发行带指针参数的消息]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/1871558</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/1871558</guid><author>leonlux</author><pubDate>Wed, 07 Nov 2007 14:41:00 +0800</pubDate><description><![CDATA[我们知道PostMessage与SendMessage不同，它是一个非同步发送消息的函数，即它发送了消息以后，并没有办法知道消息是不是被处理了。所以当使用PostMessage给本线程的窗口发送消息时，这个消息将会在下次GetMessage的时候得到并处理，所以类似下面的代码是很危险的LRESULT WndProc(HWND hwnd ...){       ......   ]]></description><category></category></item><item><title><![CDATA[关于右值指针类型的动态类型]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/1868533</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/1868533</guid><author>leonlux</author><pubDate>Mon, 05 Nov 2007 22:31:00 +0800</pubDate><description><![CDATA[今天在水木上看到一篇帖子，发现有个地方以前没有接触过，所以记下来以备后用。 struct B{        virtual void f();};struct C:B {        virtual void f();}; B b;(&b)->~B();new (&b) C;(&b)->f();  // 这里调用的是B::f为什么这里没有出现]]></description><category></category></item><item><title><![CDATA[GetKeyState与GetAsyncKeyState的区别]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/1868025</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/1868025</guid><author>leonlux</author><pubDate>Mon, 05 Nov 2007 17:29:00 +0800</pubDate><description><![CDATA[GetKeyState得到的结果是在获取到当前消息时的键盘上按键状态的一个映像，也就是说，这个状态不会随着按键真实按键状态的改变而改变。其实通常情况下这样得到这样非实时的结果就足够了。由于只是查表，所以速度较快，但是决不能写出下面的代码      while(GetKeyState(nVirKey))      {            //code here      }]]></description><category></category></item><item><title><![CDATA[protected的作用范围]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/1867887</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/1867887</guid><author>leonlux</author><pubDate>Mon, 05 Nov 2007 16:27:00 +0800</pubDate><description><![CDATA[|||看下面一段代码class B{public:       virtual void func(){cout"B"protected:       void TestB(){}       ~B(){}}; class D : public B{public:       virtual void func(){c]]></description><category></category></item><item><title><![CDATA[vc中的坐标转换（抗遗忘贴）]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/602593</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/602593</guid><author>leonlux</author><pubDate>Sun, 19 Feb 2006 13:07:00 +0800</pubDate><description><![CDATA[视口 viewpoint 设备空间 设备坐标系 设备坐标窗口 window    页面空间 页面坐标系 逻辑坐标转换关系Dx = ((Lx - WOx) * VEx / WEx) + VOx Dx    设备空间中的点（或者说单位）Lx    逻辑单位 x (或者说页面空间中的单位) WOx   窗口的 x 原点 VOx   视口中 x 原点WEx   窗口的 x轴尺寸 VEx   视]]></description><category></category></item><item><title><![CDATA[对type traits的理解]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/595116</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/595116</guid><author>leonlux</author><pubDate>Thu, 09 Feb 2006 12:11:00 +0800</pubDate><description><![CDATA[最近在看关于c++ type traits方面的资料，顺便写一下自己的理解，怕以后忘了，不对的地方望大家指正。一般来说，type traits就是取得c++中一种类型所拥有的信息，可以是原始类型或自定义的类类型。这种工作如果放在java或c#中是很容易做到的，因为他们拥有反射这个强大的工具。而不同于拥有原数据的java和.net，c++要完成这样的工作不是那么直接的，而且原理也不一样，java]]></description><category></category></item><item><title><![CDATA[汇编中assume的疑问解开了]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/585366</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/585366</guid><author>leonlux</author><pubDate>Sat, 21 Jan 2006 08:25:00 +0800</pubDate><description><![CDATA[以前学汇编时，始终搞不清楚assume是干什么用的，今天在论坛上搜了一下，发现一个网友这样解释："在数据段中定义的每一个变量标志符其实都代表了一个偏移量（也称为有效地址），这个偏移量与数据段段值相结合就指向某个内存地址。在程序中使用ASSUME伪指令是用来指明一个默认的段地址。一旦你把某个数据段的段名指定给某个段寄存器（比如ASSUME   DS,DATA1),这之后当你使用这个数据段（DAT]]></description><category></category></item><item><title><![CDATA[处理WinForm多线程程序时的陷阱]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/382941</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/382941</guid><author>leonlux</author><pubDate>Sat, 28 May 2005 15:48:00 +0800</pubDate><description><![CDATA[与所有的UI开发平台一样，.NET下线程开发图形界面同样要遵循一个基本原则：就是对UI对象的操作一定要在产生该UI对象的线程里进行（该线程称作UI线程），因为大部分UI对象都不是线程安全的。在.NET中，把调用调用放在UI线程里执行是通过Form类及其子类的Invoke（）方法实现的（具体的过程请参考其他资料），可以这样做是因为Form对象保存了创建它的线程的信息，而且Form类有一个bool类型]]></description><category></category></item><item><title><![CDATA[现实中的递归调用！！！]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/329383</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/329383</guid><author>leonlux</author><pubDate>Thu, 24 Mar 2005 22:39:00 +0800</pubDate><description><![CDATA[递归，回推。每个过程都是相当完整，呵呵。]]></description><category></category></item><item><title><![CDATA[c#中ref和out参数使用时需要注意的问题]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/322002</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/322002</guid><author>leonlux</author><pubDate>Thu, 17 Mar 2005 11:53:00 +0800</pubDate><description><![CDATA[昨天写了个关于socket接收udp包的程序，调用了socket.ReceiveFrom方法，发现了一个c#中关于ref和out参数传递时的问题，这里提出来和大家共同探讨一下，首先声明，下面的结论都是本人推测，还没有得到任何定论，若有错误请大家指正。首先，ReceiveFrom方法的原型为        public int ReceiveFrom(byte[], ref EndPoint); 有]]></description><category></category></item><item><title><![CDATA[变量，函数，类的声明，定义，实现的学习总结（不断增加中）]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/287238</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/287238</guid><author>leonlux</author><pubDate>Sun, 13 Feb 2005 23:21:00 +0800</pubDate><description><![CDATA[extern作用总结 extern int i;    指明这里的i只是声明，否则i为全局变量的话会看作定义，有可能违反一次定义法则（ODR）    extern foo();    将函数"在其他地方定义"变为显式的    同名常量可以出现在不同的编译单元中，且值可以不一样哦！    //------foo.c--------    const char name = h;     //--]]></description><category></category></item><item><title><![CDATA[JAVA里字符编码的探索与理解]]></title><link>https://blog.youkuaiyun.com/leonlux/article/details/232081</link><guid>https://blog.youkuaiyun.com/leonlux/article/details/232081</guid><author>leonlux</author><pubDate>Tue, 28 Dec 2004 12:53:00 +0800</pubDate><description><![CDATA[　　今天终于把JAVA里一个比较头痛的问题——字符编码弄清晰了，所以写一篇文章来纪念一下，也为大家提供一点自己的心得。众所周知，JAVA为了国际通用，用的是UNICODE来保存里面的字符。而UNICODE只是一个种字符集，字符的存储和表示要用到一定的字符编码格式，而与UNICODE对应的字符编码格式就是我们常看到的UTF-8,UTF-16等等，而UTF-8是最常用的，所以人们常常把它和UN]]></description><category></category></item></channel></rss>