<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>蒋晟的专栏 - 编译(CodeGen)</title><link>http://blog.csdn.net/jiangsheng/category/90375.aspx</link><description /><dc:language>zh-CN</dc:language><lastUpdateTime>Mon, 07 Apr 2008 15:48:43 GMT</lastUpdateTime><ttl>60</ttl><item><dc:creator>蒋晟.Net</dc:creator><title>Jiangsheng的CSDN Digest(April 3, 2006)</title><link>http://blog.csdn.net/jiangsheng/archive/2006/04/03/648980.aspx</link><pubDate>Mon, 03 Apr 2006 13:45:00 GMT</pubDate><guid>http://blog.csdn.net/jiangsheng/archive/2006/04/03/648980.aspx</guid><wfw:comment>http://blog.csdn.net/jiangsheng/comments/648980.aspx</wfw:comment><comments>http://blog.csdn.net/jiangsheng/archive/2006/04/03/648980.aspx#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://blog.csdn.net/jiangsheng/comments/commentRss/648980.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=648980</trackback:ping><description> 为了便于搜索,这里尽可能保留了论坛上讨论的原文，但是这并不表示本人赞同帖子中的表述方式和观点。 
CSDN 讨论总结系列：

Jiangsheng的CSDN Digest(March 4, 2006) (http://blog.csdn.net/jiangsheng/archive/2006/03/05/615714.aspx)
Jiangsheng的CSDN Digest (Jan 21 2006)( http://blog.csdn.net/jiangsheng/archive/2006/03/05/615669.aspx) 
Jiangsheng的CSDN Digest (Jan 7 2006)（http://blog.csdn.net/jiangsheng/archive/2006/01/07/573288.aspx） 
Jiangsheng的CSDN Digest (Jan 1 2006)http://blog.csdn.net/jiangsheng/archive/2006/01/01/568362.aspx 
Jiangsheng的CSDN Digest &lt;img src ="http://blog.csdn.net/jiangsheng/aggbug/648980.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>蒋晟.Net</dc:creator><title>Jiangsheng的CSDN Digest(March 4, 2006)</title><link>http://blog.csdn.net/jiangsheng/archive/2006/03/05/615714.aspx</link><pubDate>Sun, 05 Mar 2006 09:25:00 GMT</pubDate><guid>http://blog.csdn.net/jiangsheng/archive/2006/03/05/615714.aspx</guid><wfw:comment>http://blog.csdn.net/jiangsheng/comments/615714.aspx</wfw:comment><comments>http://blog.csdn.net/jiangsheng/archive/2006/03/05/615714.aspx#Feedback</comments><slash:comments>6</slash:comments><wfw:commentRss>http://blog.csdn.net/jiangsheng/comments/commentRss/615714.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=615714</trackback:ping><description>为了便于搜索,这里尽可能保留了论坛上讨论的原文，但是这并不表示本人赞同帖子中的表述方式和观点。
CSDN 讨论总结系列：
Jiangsheng的CSDN Digest (Jan 21 2006)( http://blog.csdn.net/jiangsheng/archive/2006/03/05/615669.aspx)
Jiangsheng的CSDN Digest (Jan 7 2006)（http://blog.csdn.net/jiangsheng/archive/2006/01/07/573288.aspx）
Jiangsheng的CSDN Digest (Jan 1 2006)http://blog.csdn.net/jiangsheng/archive/2006/01/01/568362.aspx 
Jiangsheng的CSDN Digest (Dec 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/24/561501.aspx) 
Jiangsheng的CSDN Digest (Oct 2005)&lt;img src ="http://blog.csdn.net/jiangsheng/aggbug/615714.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>蒋晟.Net</dc:creator><title>Jiangsheng的CSDN Digest (Jan 7 2006) </title><link>http://blog.csdn.net/jiangsheng/archive/2006/01/07/573288.aspx</link><pubDate>Sat, 07 Jan 2006 14:20:00 GMT</pubDate><guid>http://blog.csdn.net/jiangsheng/archive/2006/01/07/573288.aspx</guid><wfw:comment>http://blog.csdn.net/jiangsheng/comments/573288.aspx</wfw:comment><comments>http://blog.csdn.net/jiangsheng/archive/2006/01/07/573288.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.csdn.net/jiangsheng/comments/commentRss/573288.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=573288</trackback:ping><description>CSDN 讨论总结系列：

Jiangsheng的CSDN Digest (Jan 1 2006)http://blog.csdn.net/jiangsheng/archive/2006/01/01/568362.aspx 
Jiangsheng的CSDN Digest (Dec 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/24/561501.aspx) 
Jiangsheng的CSDN Digest (Oct 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/27/563274.aspx) 
Win32 &amp; .Net Q&amp;A 200509 (http://blog.csdn.net/jiangsheng/archive/2005/09/13/480540.aspx) 
Win32 &amp; .Net Q&amp;A (http://blog.csdn.net/jiangsheng/archive/2005/02/28/304654.aspx) 
VC/MFC Q&amp;&lt;img src ="http://blog.csdn.net/jiangsheng/aggbug/573288.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>蒋晟.Net</dc:creator><title>Jiangsheng的CSDN Digest (Jan 1 2006)</title><link>http://blog.csdn.net/jiangsheng/archive/2006/01/01/568362.aspx</link><pubDate>Sun, 01 Jan 2006 15:58:00 GMT</pubDate><guid>http://blog.csdn.net/jiangsheng/archive/2006/01/01/568362.aspx</guid><wfw:comment>http://blog.csdn.net/jiangsheng/comments/568362.aspx</wfw:comment><comments>http://blog.csdn.net/jiangsheng/archive/2006/01/01/568362.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.csdn.net/jiangsheng/comments/commentRss/568362.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=568362</trackback:ping><description>CSDN 讨论总结系列：

Jiangsheng的CSDN Digest (Dec 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/24/561501.aspx) 
Jiangsheng的CSDN Digest (Oct 2005)(http://blog.csdn.net/jiangsheng/archive/2005/12/27/563274.aspx) 
Win32 &amp; .Net Q&amp;A 200509 (http://blog.csdn.net/jiangsheng/archive/2005/09/13/480540.aspx) 
Win32 &amp; .Net Q&amp;A (http://blog.csdn.net/jiangsheng/archive/2005/02/28/304654.aspx) 
VC/MFC Q&amp;A 200407 (http://blog.csdn.net/jiangsheng/archive/2004/07/13/40771.aspx)

MSXML4.DLL中成功发送，MSXML.DL&lt;img src ="http://blog.csdn.net/jiangsheng/aggbug/568362.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>蒋晟.Net</dc:creator><title>Jiangsheng的CSDN Digest (Oct 2005)</title><link>http://blog.csdn.net/jiangsheng/archive/2005/12/27/563274.aspx</link><pubDate>Tue, 27 Dec 2005 00:16:00 GMT</pubDate><guid>http://blog.csdn.net/jiangsheng/archive/2005/12/27/563274.aspx</guid><wfw:comment>http://blog.csdn.net/jiangsheng/comments/563274.aspx</wfw:comment><comments>http://blog.csdn.net/jiangsheng/archive/2005/12/27/563274.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.csdn.net/jiangsheng/comments/commentRss/563274.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=563274</trackback:ping><description>jiangsheng在2005年9月-10月之间参与的CSDN已结贴子的摘要&lt;img src ="http://blog.csdn.net/jiangsheng/aggbug/563274.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>蒋晟.Net</dc:creator><title>Jiangsheng的CSDN Digest (Dec 2005)</title><link>http://blog.csdn.net/jiangsheng/archive/2005/12/24/561501.aspx</link><pubDate>Sat, 24 Dec 2005 20:24:00 GMT</pubDate><guid>http://blog.csdn.net/jiangsheng/archive/2005/12/24/561501.aspx</guid><wfw:comment>http://blog.csdn.net/jiangsheng/comments/561501.aspx</wfw:comment><comments>http://blog.csdn.net/jiangsheng/archive/2005/12/24/561501.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blog.csdn.net/jiangsheng/comments/commentRss/561501.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=561501</trackback:ping><description>jiangsheng在2005年11月-12月之间参与的CSDN已结贴子的摘要&lt;img src ="http://blog.csdn.net/jiangsheng/aggbug/561501.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>蒋晟.Net</dc:creator><title>Visual C++ 2005 中的XML注释</title><link>http://blog.csdn.net/jiangsheng/archive/2005/11/05/523786.aspx</link><pubDate>Sat, 05 Nov 2005 18:57:00 GMT</pubDate><guid>http://blog.csdn.net/jiangsheng/archive/2005/11/05/523786.aspx</guid><wfw:comment>http://blog.csdn.net/jiangsheng/comments/523786.aspx</wfw:comment><comments>http://blog.csdn.net/jiangsheng/archive/2005/11/05/523786.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.csdn.net/jiangsheng/comments/commentRss/523786.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=523786</trackback:ping><description>C#程序员可以用三个斜杠来开始XML格式的注释，而且编译器可以据此生成可用于自动生成帮助文档的XML文件。Visual C++ 2005中的编译器也支持了这个功能，而且对非托管函数也生效，前提是必须打开/clr和/DOC开关，并且不能使用/clr:oldSyntax开关编译。&lt;img src ="http://blog.csdn.net/jiangsheng/aggbug/523786.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>蒋晟.Net</dc:creator><title>托管C++中函数调用的双重转换(Double Thunking)</title><link>http://blog.csdn.net/jiangsheng/archive/2005/10/08/497936.aspx</link><pubDate>Sat, 08 Oct 2005 21:53:00 GMT</pubDate><guid>http://blog.csdn.net/jiangsheng/archive/2005/10/08/497936.aspx</guid><wfw:comment>http://blog.csdn.net/jiangsheng/comments/497936.aspx</wfw:comment><comments>http://blog.csdn.net/jiangsheng/archive/2005/10/08/497936.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.csdn.net/jiangsheng/comments/commentRss/497936.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=497936</trackback:ping><description> 在VC.Net中使用默认设置/clr编译时，一个托管函数会产生两个入口点，一个是托管的，供托管代码调用，另外一个是非托管的，供非托管代码调用。但是函数地址，特别是虚函数指针只能有一个值，所以需要有一个默认的入口。

非托管入口点可能是所有调用的默认入口（在 Visual Studio .NET2003 中，编译器总是会选择非托管入口，但是在Visual Studio 2005中，如果参数或者返回值中包含托管类型，那么编译器会选择托管入口），而另外一个只是使用托管C++中的互操作功能对默认入口的调用。在一个托管函数被另一个托管函数调用的时候，这可能会造成不必要的托管/非托管上下文切换和参数/返回值的复制。如果函数不会被非托管代码使用指针调用，那么可以在声明函数时用VC2005新增的__clrcall修饰符阻止编译器生成两个入口。
现在用简单的冒泡排序算法来比较一下使用__clrcall之后的性能改善程度。 
using namespace System;
#define ARRAY_SIZE 1000

struct bubbleBase
{
	int value;&lt;img src ="http://blog.csdn.net/jiangsheng/aggbug/497936.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>蒋晟.Net</dc:creator><title>西雅图MVP峰会见闻</title><link>http://blog.csdn.net/jiangsheng/archive/2005/10/08/497930.aspx</link><pubDate>Sat, 08 Oct 2005 21:50:00 GMT</pubDate><guid>http://blog.csdn.net/jiangsheng/archive/2005/10/08/497930.aspx</guid><wfw:comment>http://blog.csdn.net/jiangsheng/comments/497930.aspx</wfw:comment><comments>http://blog.csdn.net/jiangsheng/archive/2005/10/08/497930.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.csdn.net/jiangsheng/comments/commentRss/497930.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=497930</trackback:ping><description>个人觉得这次MVP峰会最大的进步就是技术相关的Session数量大大增加，按照MVP专长来分类；而不像上次那样按主题分类。我只需要在VC产品组的日程里面选择就可以了，而不是像上回那样不得不去听移动开发。当然这回也有MVP不去参加VC的Session，跑去听IE和移动开发。内容方面也比上次活泼很多，Don Box还是那么幽默，比尔·盖茨也有搞笑的演出，不过他看起来比去年七月份在北京的时候老多了。

一些可能有人会感兴趣的技术信息

新的产品开发合作网站http://connect.microsoft.com/。在这里可以申请参与新产品的测试。
软件开发者可以使用Windows错误报告机制（Windows Error Reporting，简称WER，https://winqual.microsoft.com/parentorgs.asp）来获得反馈。 
有人正在开发把VC项目转化成MSBuild的XML格式的工具 (
http://blogs.msdn.com/clichten/archive/2005/06/07/Building_VC_projects_with_msbu&lt;img src ="http://blog.csdn.net/jiangsheng/aggbug/497930.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>蒋晟.Net</dc:creator><title>C++/CLI中的默认属性访问</title><link>http://blog.csdn.net/jiangsheng/archive/2005/10/08/497924.aspx</link><pubDate>Sat, 08 Oct 2005 21:47:00 GMT</pubDate><guid>http://blog.csdn.net/jiangsheng/archive/2005/10/08/497924.aspx</guid><wfw:comment>http://blog.csdn.net/jiangsheng/comments/497924.aspx</wfw:comment><comments>http://blog.csdn.net/jiangsheng/archive/2005/10/08/497924.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.csdn.net/jiangsheng/comments/commentRss/497924.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=497924</trackback:ping><description>目前版本的VC2005测试版中，default关键字不仅用于指定类级别的索引器，而且也用于访问默认属性。但是奇怪的是，默认属性的原名不能访问了，也就是说，如果要把下面的代码段从托管C++移植到VC2005附带的C++/CLI，不仅需要更改指针的类型，而且要把属性的名称更改为default：

//[System::Reflection::DefaultMemberAttribute("Fields")] interface _Recordset

//托管C++语法
//extern _Recordset* results;
Fields* ResultFields=results-&gt;Fields;

//C++/CLI语法
//extern _Recordset^ results;
Fields^ ResultFields=results-&gt;default;

如果继续使用原来名字来访问属性的话，会报告编译错误：

Fields^ ResultFields=results-&gt;Fields;//C3293: 'Fields': use 'default' t&lt;img src ="http://blog.csdn.net/jiangsheng/aggbug/497924.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>蒋晟.Net</dc:creator><title>Win32 &amp; .Net Q&amp;A 200509</title><link>http://blog.csdn.net/jiangsheng/archive/2005/09/13/480540.aspx</link><pubDate>Tue, 13 Sep 2005 22:06:00 GMT</pubDate><guid>http://blog.csdn.net/jiangsheng/archive/2005/09/13/480540.aspx</guid><wfw:comment>http://blog.csdn.net/jiangsheng/comments/480540.aspx</wfw:comment><comments>http://blog.csdn.net/jiangsheng/archive/2005/09/13/480540.aspx#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://blog.csdn.net/jiangsheng/comments/commentRss/480540.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=480540</trackback:ping><description>I would like to keep tracking some interesting discussions, but sometimes I can not find them due to the limit of the CSDN favorite and the CSDN full text search. So again I list some interesting discussions here. For details about the discussion, go to http://search.csdn.net and search posts by their topics. For previous Q&amp;A discussions, see my blogs Win32 &amp; .Net Q&amp;A  and VC/MFC Q&amp;A 200407 . A topic may appear in these Q&amp;A blogs more than once, but I will try to cover every interesting discussi&lt;img src ="http://blog.csdn.net/jiangsheng/aggbug/480540.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>蒋晟.Net</dc:creator><title>Visual Studio 2005中MFC的变化</title><link>http://blog.csdn.net/jiangsheng/archive/2005/07/05/413919.aspx</link><pubDate>Tue, 05 Jul 2005 08:35:00 GMT</pubDate><guid>http://blog.csdn.net/jiangsheng/archive/2005/07/05/413919.aspx</guid><wfw:comment>http://blog.csdn.net/jiangsheng/comments/413919.aspx</wfw:comment><comments>http://blog.csdn.net/jiangsheng/archive/2005/07/05/413919.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blog.csdn.net/jiangsheng/comments/commentRss/413919.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=413919</trackback:ping><description>关于新功能的说明http://msdn2.microsoft.com/library/y8bt6w34(en-us,vs.80).aspx

一些源代码的变化：

对CLR、.Net类库和Winform控件的支持。
多处安全性的增强，对于函数参数和消息影射类型的检查加强。对ISAPI的支持看起来改动很大。
对基于64位处理器的软件开发的支持。
一些过时功能，例如MFC的DAO类，的使用受到限制。对于64位开发环境，MFC的DAO类是被禁用的。
OLE控件容器和激活状态的改进
新增加的ENSURE宏在ASSERT之外还可以抛出异常。
修正了一些BUG
VC7引入的对GetHtmlDocument()的引用导致内存泄漏的问题。
CHtmlView::ExecFormsCommand中调用IOleCommandTarget::Exec时参数写反了的问题
把CArchiveException::generic修改为CArchiveException::genericException以避免潜在的关键字冲突（微软看起来又准备引入一个新的关键字）
&lt;img src ="http://blog.csdn.net/jiangsheng/aggbug/413919.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>jiangsheng</dc:creator><title>十年MFC经历认识的Microsoft技术[转]</title><link>http://blog.csdn.net/jiangsheng/archive/2005/03/11/316924.aspx</link><pubDate>Fri, 11 Mar 2005 04:08:00 GMT</pubDate><guid>http://blog.csdn.net/jiangsheng/archive/2005/03/11/316924.aspx</guid><wfw:comment>http://blog.csdn.net/jiangsheng/comments/316924.aspx</wfw:comment><comments>http://blog.csdn.net/jiangsheng/archive/2005/03/11/316924.aspx#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.csdn.net/jiangsheng/comments/commentRss/316924.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=316924</trackback:ping><description>在CSDN看见一个老程序员的感想，虽然是关于MFC的讨论，但是对其他语言的开发者也有借鉴之处。

转自CSDN技术社区(http://community.csdn.net)，更多内容可以在http://community.csdn.net/expert/Topicview1.asp?id=3834281 找到。

作　　者：  sunhui (MFC.NET)  

一、初识MFC
    我最初知道MFC大概是在1993年，那个时候Visual C++还没面世，当时Microsoft的C++编译器还很弱，官方的名字是Microsoft C/C++ 7.0，MFC的版本是1.0，几乎没有引起什么反响，那个时期最好的C++开发环境是Borland C++ 3.1，其实，大概是1992年11月份，一个偶然的机会，我领略到Borland公司的厉害，记不得在什么地方，我看到一个绝妙的集成开发环境，即Turbo C++ 3.0 for Windows，这是我记忆中第一个真正的Windows环境下的C++集成开发环境，那种激动的感觉至今仍记忆犹新，不客气的说，当时至少在C++方面，M&lt;img src ="http://blog.csdn.net/jiangsheng/aggbug/316924.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>蒋晟.Net</dc:creator><title>Win32 &amp; .Net Q&amp;A</title><link>http://blog.csdn.net/jiangsheng/archive/2005/02/28/304654.aspx</link><pubDate>Mon, 28 Feb 2005 08:00:00 GMT</pubDate><guid>http://blog.csdn.net/jiangsheng/archive/2005/02/28/304654.aspx</guid><wfw:comment>http://blog.csdn.net/jiangsheng/comments/304654.aspx</wfw:comment><comments>http://blog.csdn.net/jiangsheng/archive/2005/02/28/304654.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://blog.csdn.net/jiangsheng/comments/commentRss/304654.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=304654</trackback:ping><description>jiangsheng收集的CSDN论坛问答摘要&lt;img src ="http://blog.csdn.net/jiangsheng/aggbug/304654.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>蒋晟.Net</dc:creator><title>VC/MFC Q&amp;A 200407 </title><link>http://blog.csdn.net/jiangsheng/archive/2004/07/13/40771.aspx</link><pubDate>Tue, 13 Jul 2004 21:06:00 GMT</pubDate><guid>http://blog.csdn.net/jiangsheng/archive/2004/07/13/40771.aspx</guid><wfw:comment>http://blog.csdn.net/jiangsheng/comments/40771.aspx</wfw:comment><comments>http://blog.csdn.net/jiangsheng/archive/2004/07/13/40771.aspx#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>http://blog.csdn.net/jiangsheng/comments/commentRss/40771.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=40771</trackback:ping><description>VC/MFC Q&amp;A 200407
CSDN
Jiangsheng收集&lt;img src ="http://blog.csdn.net/jiangsheng/aggbug/40771.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>