<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Announcing a major MFC update plus TR1 support</title><link>http://blogs.msdn.com/b/vcblog/archive/2007/11/09/announcing-a-major-mfc-update-plus-tr1-support.aspx</link><description>As an update to Visual Studio 2008, we’re pleased to announce a major new release of the Microsoft Foundation Classes (MFC). Using these components, developers will be able to create applications with the “look &amp;amp; feel” of Microsoft’s most popular</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Windows 7 - The native developer heaven</title><link>http://blogs.msdn.com/b/vcblog/archive/2007/11/09/announcing-a-major-mfc-update-plus-tr1-support.aspx#9167322</link><pubDate>Wed, 03 Dec 2008 03:18:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9167322</guid><dc:creator>public class Alon : ISmartHome, ICPP, IHomeServer, IMediaCenter</dc:creator><description>&lt;p&gt;Don&amp;amp;#39;t take me wrong, I do love C# and managed code, but often we need to develop in C++ and for good&lt;/p&gt;
&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9167322" width="1" height="1"&gt;</description></item><item><title>re: Announcing a major MFC update plus TR1 support</title><link>http://blogs.msdn.com/b/vcblog/archive/2007/11/09/announcing-a-major-mfc-update-plus-tr1-support.aspx#6753920</link><pubDate>Thu, 13 Dec 2007 04:54:41 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6753920</guid><dc:creator>Frank L.</dc:creator><description>&lt;p&gt;I have to agree with Craig here. I don't really care about export myself, however, I do care that Microsoft is at least intending to conform to standards. Simply by definition, if Microsoft is not going to implement export, then they should not claim to be standards compliant. For this particular case, it makes sense to me for the community to modify the standard in the future, and that Microsoft be a part of this effort. They shouldn't sit in a corner and force everyone to do it 'their' way. Ever hear of blowback?...&lt;/p&gt;
&lt;p&gt;With all that said, I applaud Microsoft for continually working to improve the compiler and their libraries. I've definitely seen the quality go up of the past decade. Compliance has gotten closer, which is good because in some cases, VC++ would simply be out of the running.&lt;/p&gt;
&lt;p&gt;I wonder how Microsoft can determine what their customers want. If they look at whether or not developers buy and use their tools, then they will be misguided in believing that what they (the compiler/library people) are doing is a good thing. This is because, many times, organizations are forced into using Microsoft tools given the company's monopolistic nature. From my perspective, the development tools coming out of Microsoft are pretty much the best out there. So, obviously you guys are doing something right.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6753920" width="1" height="1"&gt;</description></item><item><title>re: Announcing a major MFC update plus TR1 support</title><link>http://blogs.msdn.com/b/vcblog/archive/2007/11/09/announcing-a-major-mfc-update-plus-tr1-support.aspx#6621301</link><pubDate>Sat, 01 Dec 2007 02:54:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6621301</guid><dc:creator>Craig</dc:creator><description>&lt;p&gt;Stephan,&lt;/p&gt;
&lt;p&gt;&amp;gt; I should have simply linked those articles, or Sutter's &amp;quot;Why We Can't Afford Export&amp;quot; paper, in the first place.&lt;/p&gt;
&lt;p&gt;&amp;gt;Shame on me for trying to argue from first principles instead of citing authorities.&lt;/p&gt;
&lt;p&gt;What authority? Like it or not, the simple undeniable fact is that export *is* part of the C++ standard. No matter what argument you make against it, a compiler that does not implement it is non-compliant.&lt;/p&gt;
&lt;p&gt;Sutter and others tried to get export removed from the standard. That was rejected by the standard committee.&lt;/p&gt;
&lt;p&gt;The only way out of implementing export is for Microsoft to declare that VC++ is not a C++ compiler and thus exempt from implementing the C++ standard.&lt;/p&gt;
&lt;p&gt;You can claim to care about standards if you only selectively implement the parts that you like and omit the others.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6621301" width="1" height="1"&gt;</description></item><item><title>re: Announcing a major MFC update plus TR1 support</title><link>http://blogs.msdn.com/b/vcblog/archive/2007/11/09/announcing-a-major-mfc-update-plus-tr1-support.aspx#6619433</link><pubDate>Fri, 30 Nov 2007 23:16:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6619433</guid><dc:creator>Stephan T. Lavavej [MSFT]</dc:creator><description>&lt;p&gt;[Phidias]&lt;/p&gt;
&lt;p&gt;&amp;gt; now I understand the &amp;quot;... and there is export&amp;quot;&lt;/p&gt;
&lt;p&gt;&amp;gt; comment of the blog author in a post above&lt;/p&gt;
&lt;p&gt;I should have simply linked those articles, or Sutter's &amp;quot;Why We Can't Afford Export&amp;quot; paper, in the first place.&lt;/p&gt;
&lt;p&gt;Shame on me for trying to argue from first principles instead of citing authorities.&lt;/p&gt;
&lt;p&gt;&amp;gt; Still, can you (and CodeGear's) guys stop and work&lt;/p&gt;
&lt;p&gt;&amp;gt; this out once for good? I shouldn't have to solve&lt;/p&gt;
&lt;p&gt;&amp;gt; linker problems in 2007 by shuffling compilation&lt;/p&gt;
&lt;p&gt;&amp;gt; order, dup(multip)licating explicit instantiations,&lt;/p&gt;
&lt;p&gt;&amp;gt; regroup .obj files into smaller libraries and more&lt;/p&gt;
&lt;p&gt;&amp;gt; generally rain dance around my computer. Thank you.&lt;/p&gt;
&lt;p&gt;I'm not sure what you're talking about. &amp;nbsp;It sounds like you're working with a broken library.&lt;/p&gt;
&lt;p&gt;The inclusion model &amp;quot;just works&amp;quot; when you define templates in headers. &amp;nbsp;Explicit instantiations are generally never necessary.&lt;/p&gt;
&lt;p&gt;The linker could certainly have bugs, but I'd suspect a broken library first.&lt;/p&gt;
&lt;p&gt;Stephan T. Lavavej&lt;/p&gt;
&lt;p&gt;Visual C++ Libraries Developer&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6619433" width="1" height="1"&gt;</description></item><item><title>re: Announcing a major MFC update plus TR1 support</title><link>http://blogs.msdn.com/b/vcblog/archive/2007/11/09/announcing-a-major-mfc-update-plus-tr1-support.aspx#6612718</link><pubDate>Fri, 30 Nov 2007 12:37:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6612718</guid><dc:creator>Phidias</dc:creator><description>&lt;p&gt;Thank you very much for the link to this superb article. I was unaware of all these issues, and now I understand the &amp;quot;... and there is export&amp;quot; comment of the blog author in a post above, which without the proper explanation of Herb Sutter's article, sounded pretty much like a smartxxx remark at best, I'm sorry to say.&lt;/p&gt;
&lt;p&gt;I realize now that my link problems are more or less poor behavior of linkers over large programs, not solvable by the use of export. So please, disregard my earlier post of Nov 21.&lt;/p&gt;
&lt;p&gt;Still, can you (and CodeGear's) guys stop and work this out once for good? I shouldn't have to solve linker problems in 2007 by shuffling compilation order, dup(multip)licating explicit instantiations, regroup .obj files into smaller libraries and more generally rain dance around my computer. Thank you.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6612718" width="1" height="1"&gt;</description></item><item><title>re: Announcing a major MFC update plus TR1 support</title><link>http://blogs.msdn.com/b/vcblog/archive/2007/11/09/announcing-a-major-mfc-update-plus-tr1-support.aspx#6597507</link><pubDate>Thu, 29 Nov 2007 15:06:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6597507</guid><dc:creator>Craig</dc:creator><description>&lt;p&gt;There are no &amp;quot;export restrictions&amp;quot;.&lt;/p&gt;
&lt;p&gt;As the article explains, that is how export was designed and standardized. Nothing more and nothing less.&lt;/p&gt;
&lt;p&gt;I want it because it is part of the standard. It has been part of the standard for almost a decade. Other compilers (Comeau, Borland) implement it, but since VC++ does not it is difficult to compile standard-compliant code with multiple compilers. Asking for standard compliance should not be so unreasonable.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6597507" width="1" height="1"&gt;</description></item><item><title>re: Announcing a major MFC update plus TR1 support</title><link>http://blogs.msdn.com/b/vcblog/archive/2007/11/09/announcing-a-major-mfc-update-plus-tr1-support.aspx#6587284</link><pubDate>Thu, 29 Nov 2007 02:43:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6587284</guid><dc:creator>mos</dc:creator><description>&lt;p&gt;For thos who still insist on an implementation of export &amp;quot;for completeness's sake&amp;quot;, you should give the &amp;quot;Export Restrictions&amp;quot; articles by Herb Sutter a serious read.&lt;/p&gt;
&lt;p&gt;Part 1: &lt;a rel="nofollow" target="_new" href="http://www.ddj.com/cpp/184401563"&gt;http://www.ddj.com/cpp/184401563&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Part 2: &lt;a rel="nofollow" target="_new" href="http://www.ddj.com/cpp/184401584"&gt;http://www.ddj.com/cpp/184401584&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(Apologies for resurrecting a weeks-old thread, but I just discovered this while arguing with a co-worker about the same subject.)&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6587284" width="1" height="1"&gt;</description></item><item><title>re: Announcing a major MFC update plus TR1 support</title><link>http://blogs.msdn.com/b/vcblog/archive/2007/11/09/announcing-a-major-mfc-update-plus-tr1-support.aspx#6452863</link><pubDate>Wed, 21 Nov 2007 12:51:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6452863</guid><dc:creator>Phidias</dc:creator><description>&lt;p&gt;I don't think I would buy a &amp;quot;Implement export now&amp;quot; T-shirt, but unlike most other posters above requesting export, I wish it was in VC++ because its absence is costing me a lot of time, daily, juggling around with code rearrangement.&lt;/p&gt;
&lt;p&gt;Yes, you can theoretically rearrange code so that all your templates definitions can be found at link time, while keeping build time reasonable. However, my bet is that you have not been through this exercise for real, because if you did, you'd find that WITHIN a compiler, it's an easy job, but accross 2 vendors and over years of maintenance spanning several major updates, it's a nightmare.&lt;/p&gt;
&lt;p&gt;This morning I just added into Borland 2007 the use of some tiny IO function for the F80 type... I'm still trying to link it. It worked fine with BCB6, fine also with VS8 beta 2, but I can't have it link in my current configuration. Although I agree that in this case it's a Borland problem, each vendor has their &amp;quot;smart template&amp;quot; link policy that just drives me nuts. Plus, because of VC's lack of support for export, I cannot use Borland's.&lt;/p&gt;
&lt;p&gt;Yes, I could rearrange 13 years of code so that we stick to just one vendor. Give me better marshalling between .NET and native C++, and I'll consider using WindowsForms instead of VCL (high on my list: stress test of the new marshalling functions of VS8 once it's out of beta). Give me some really good MFC facelift and I give up VCL (it better be good... I have no idea how anything based on MFC could even get close to the productivity of VCL, but I'm willing to try).&lt;/p&gt;
&lt;p&gt;...or give me export and I am a happy multi-vendor customer.&lt;/p&gt;
&lt;p&gt;Note: I had template link nightmares within one vendor, when moving from BCB1 to BCB3 for example... This is not a vendor problem, just a lack of norm for template link that transforms the &amp;quot;rearrangement&amp;quot; workaround into a trial-and-error build workout.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6452863" width="1" height="1"&gt;</description></item><item><title>re: Announcing a major MFC update plus TR1 support</title><link>http://blogs.msdn.com/b/vcblog/archive/2007/11/09/announcing-a-major-mfc-update-plus-tr1-support.aspx#6447372</link><pubDate>Wed, 21 Nov 2007 03:31:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6447372</guid><dc:creator>Norman Diamond</dc:creator><description>&lt;p&gt;For some programming languages, every compiler is non-conforming.&lt;/p&gt;
&lt;p&gt;For some languages including C, every program on the face of the earth is a conforming compiler, whether or not it was intended to be a compiler. &amp;nbsp;Also every program that has been exported from earth is a conforming C compiler. &amp;nbsp;Some of us wish that the limits section would be debugged to change this, but meanwhile it's a fact.&lt;/p&gt;
&lt;p&gt;Nonetheless, when we know what the standard is trying to say that we should do, and if other parts of the standard don't prohibit it, then we ought to try.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6447372" width="1" height="1"&gt;</description></item><item><title>re: Announcing a major MFC update plus TR1 support</title><link>http://blogs.msdn.com/b/vcblog/archive/2007/11/09/announcing-a-major-mfc-update-plus-tr1-support.aspx#6447177</link><pubDate>Wed, 21 Nov 2007 03:19:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6447177</guid><dc:creator>Adam G</dc:creator><description>&lt;p&gt;ikk,&lt;/p&gt;
&lt;p&gt;I agree with Derrick. A compiler is either conformant or non-conformant. The so-called &amp;quot;middle-ground&amp;quot; is moderate leeway given to compilers that fully intend to become more compliant in future versions. However, Microsoft has made it clear that they are not interested in implementing the standard (which includes export). Thus, in future versions, they will still be non-conformant. It's been nine years already without any progress, but perhaps if they would give a general target for implementing export, the situation can be reanalyzed.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6447177" width="1" height="1"&gt;</description></item></channel></rss>