﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-JERKII-最新评论</title><link>http://www.cppblog.com/JERKII/CommentsRSS.aspx</link><description /><language>zh-cn</language><pubDate>Tue, 11 Apr 2006 06:56:41 GMT</pubDate><lastBuildDate>Tue, 11 Apr 2006 06:56:41 GMT</lastBuildDate><generator>cnblogs</generator><item><title>re: 一种实现Win32消息处理处理函数的新方法 - 基于Thunk实现的类成员消息处理函数</title><link>http://www.cppblog.com/JERKII/archive/2007/04/22/5239.html#22589</link><dc:creator>artcpp</dc:creator><author>artcpp</author><pubDate>Sun, 22 Apr 2007 07:06:00 GMT</pubDate><guid>http://www.cppblog.com/JERKII/archive/2007/04/22/5239.html#22589</guid><description><![CDATA[非常感谢提供这么好的文章！！<img src ="http://www.cppblog.com/JERKII/aggbug/22589.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/JERKII/" target="_blank">artcpp</a> 2007-04-22 15:06 <a href="http://www.cppblog.com/JERKII/archive/2007/04/22/5239.html#22589#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 一种实现Win32消息处理处理函数的新方法 - 基于Thunk实现的类成员消息处理函数</title><link>http://www.cppblog.com/JERKII/archive/2006/04/11/5239.html#5303</link><dc:creator>cf</dc:creator><author>cf</author><pubDate>Tue, 11 Apr 2006 08:32:00 GMT</pubDate><guid>http://www.cppblog.com/JERKII/archive/2006/04/11/5239.html#5303</guid><description><![CDATA[寒~~~~出来两贴，请楼主删除一帖，和本贴，谢<img src ="http://www.cppblog.com/JERKII/aggbug/5303.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/JERKII/" target="_blank">cf</a> 2006-04-11 16:32 <a href="http://www.cppblog.com/JERKII/archive/2006/04/11/5239.html#5303#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 一种实现Win32消息处理处理函数的新方法 - 基于Thunk实现的类成员消息处理函数</title><link>http://www.cppblog.com/JERKII/archive/2006/04/11/5239.html#5301</link><dc:creator>cf</dc:creator><author>cf</author><pubDate>Tue, 11 Apr 2006 08:31:00 GMT</pubDate><guid>http://www.cppblog.com/JERKII/archive/2006/04/11/5239.html#5301</guid><description><![CDATA[提几点看法：<br><br>1、阁下这种thunk和atl中“使用Thunk将即将传递给窗口过程的第一个参数（HWND hWnd）的值使用类对象的内存地址（即this指针）进行替换”的thunk，形式上不同，本质上都是一样的，无非就是为member function找一个this而已，只不过前者直接由thunk-&gt;member，而后者为thunk-&gt;static-&gt;member，多一个call多费几十个机器周期而已，呵呵，在oop的dispatcher模型中，不知道要多多少层无谓的call呢<br><br>2、thunk技术本质上就是为不同的window指定不同的wndproc（地址）由此建立window-&gt;object的映射，mfc中用了hwnd-&gt;ptr的map，atl用了thunk，map的方式慢，但通用性强，thunk的方式快，但有硬伤，就是在不同的目标硬件上thunk多半是不同的，采用定制的方式局限性太强，例如：我们可以看到atl的src里面有宏可以为x86目标和alpha目标定制了不同的thunk，那么如果再需要增加x64和ia64构架还需要再增加，那么未知的目标（不过window平台似乎也没什么未知的目标了，呵呵）该如何呢？<br><br>n年没有研究windows gui了，上述观点定有疏失，还望指正<br><img src ="http://www.cppblog.com/JERKII/aggbug/5301.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/JERKII/" target="_blank">cf</a> 2006-04-11 16:31 <a href="http://www.cppblog.com/JERKII/archive/2006/04/11/5239.html#5301#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>re: 一种实现Win32消息处理处理函数的新方法 - 基于Thunk实现的类成员消息处理函数</title><link>http://www.cppblog.com/JERKII/archive/2006/04/11/5239.html#5302</link><dc:creator>cf</dc:creator><author>cf</author><pubDate>Tue, 11 Apr 2006 08:31:00 GMT</pubDate><guid>http://www.cppblog.com/JERKII/archive/2006/04/11/5239.html#5302</guid><description><![CDATA[提几点看法：<br><br>1、阁下这种thunk和atl中“使用Thunk将即将传递给窗口过程的第一个参数（HWND hWnd）的值使用类对象的内存地址（即this指针）进行替换”的thunk，形式上不同，本质上都是一样的，无非就是为member function找一个this而已，只不过前者直接由thunk-&gt;member，而后者为thunk-&gt;static-&gt;member，多一个call多费几十个机器周期而已，呵呵，在oop的dispatcher模型中，不知道要多多少层无谓的call呢<br><br>2、thunk技术本质上就是为不同的window指定不同的wndproc（地址）由此建立window-&gt;object的映射，mfc中用了hwnd-&gt;ptr的map，atl用了thunk，map的方式慢，但通用性强，thunk的方式快，但有硬伤，就是在不同的目标硬件上thunk多半是不同的，采用定制的方式局限性太强，例如：我们可以看到atl的src里面有宏可以为x86目标和alpha目标定制了不同的thunk，那么如果再需要增加x64和ia64构架还需要再增加，那么未知的目标（不过window平台似乎也没什么未知的目标了，呵呵）该如何呢？<br><br>n年没有研究windows gui了，上述观点定有疏失，还望指正<br><img src ="http://www.cppblog.com/JERKII/aggbug/5302.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/JERKII/" target="_blank">cf</a> 2006-04-11 16:31 <a href="http://www.cppblog.com/JERKII/archive/2006/04/11/5239.html#5302#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>