{"id":1003,"date":"2013-12-05T09:58:00","date_gmt":"2013-12-05T09:58:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vcblog\/2013\/12\/05\/visual-c-in-2013-and-beyond-qa\/"},"modified":"2019-02-18T18:40:47","modified_gmt":"2019-02-18T18:40:47","slug":"visual-c-in-2013-and-beyond-qa","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/visual-c-in-2013-and-beyond-qa\/","title":{"rendered":"Visual C++ in 2013 and Beyond &#8211; Q&#038;A"},"content":{"rendered":"<p>Did you watch <a href=\"https:\/\/channel9.msdn.com\/Events\/Visual-Studio\/Launch-2013\/Visual-C-in-2013-and-Beyond\">Charles Torre&#8217;s discussion with Ale Contenti, Tarek Madkour and Herb Sutter<\/a> at the Visual Studio 2013 Virtual Launch last month? The team answered a number of questions from Charles and the community on topics ranging from refactoring to PEX. In case you missed the <a href=\"https:\/\/channel9.msdn.com\/Events\/Visual-Studio\/Launch-2013\/Visual-C-in-2013-and-Beyond\">video<\/a> (or missed some of the answers), the questions and answers are provided below.<\/p>\n<p>Note that the questions and answers were often tweaked for clarity, correctness and completeness. This is not a transcript. If you have follow up questions, lob them our way in the comments section.<\/p>\n<p>Thanks!<\/p>\n<h2>How easy is it to migrate C++ assets to Visual Studio 2013?<\/h2>\n<p>We care about C++ standards and library support, making it easier to bring your C++ code into Visual Studio 2013. The IDE also helps with an option to create a project file from existing code.<\/p>\n<p>If you are already able to create a <strong>.pdb<\/strong> file, an available PDBProject plug-in can create a Visual Studio 2013 project for you. It takes information contained in the <strong>.pdb<\/strong> to create a C++ project. For more information, see <a href=\"http:\/\/blogs.msdn.com\/b\/vcblog\/archive\/2013\/10\/28\/creating-a-c-project-from-a-pdb-file-pdb-project.aspx\">Creating a C++ Project from a PDB file: PDB Project<\/a>.<\/p>\n<h2>Will there be a modern UI framework for the Windows Desktop?<\/h2>\n<p>This is an important topic and is actively being discussed among different teams at Microsoft. We don&#8217;t have more to share at this moment apart from the fact that we deeply care about enabling great desktop application development. Our current desktop UI framework for C++, MFC, will continue to be supported and MFC will be in the next release of Visual Studio, but we have no plans to majorly revamp it.<\/p>\n<h2>What about refactoring?<\/h2>\n<p>No C++ refactoring in the VS2013 RTM release. We do recognize the need for a good solution that makes developers more productive and works on real projects. So we&#8217;re starting to actively prototype some solution to have a discussion with our customers about the level of accuracy, scalability, etc. A prototype add-in tool for Visual Studio 2013, the <a href=\"http:\/\/blogs.msdn.com\/controlpanel\/blogs\/posteditor.aspx\/Visual%20C++%20Refactoring\">Visual C++ Refactoring extension<\/a>, is available now in the extension gallery, .<\/p>\n<h2>Any updates on SG13?<\/h2>\n<p>SG13 is the special working group developing a C++ 2D graphics API proposal. It just got started and there is a small meeting next week to discuss options and scope.<\/p>\n<p>Expect more updates next year. View the discussion <a href=\"https:\/\/groups.google.com\/a\/isocpp.org\/forum\/\">here<\/a>.<\/p>\n<h2>Is C++11 available for Windows CE?<\/h2>\n<p>The latest version of Windows CE shipped with complete support in Visual Studio 2012 (IDE, compilers, debugger, libs). It is more conformant, supporting lambdas, ranged-base for loops, scoped enumerations and more. For more information, check out <a href=\"http:\/\/blogs.msdn.com\/b\/vcblog\/archive\/2012\/08\/14\/10339695.aspx\">Visual C++ in Visual Studio 2012<\/a>.<\/p>\n<h2>Any additions for C++ unit testing?<\/h2>\n<p>No.<\/p>\n<h2>How can I use C++11 with older code bases?<\/h2>\n<p>One approach is to modify existing code to use C++11 features like shared_ptr or range-based for loops. Another approach is to use C++11 only in new code, avoiding the risk of breaking existing code.<\/p>\n<p>Your old code will still work and will likely both compile and run faster with the latest version of Visual Studio. This is a goal we have for each release.<\/p>\n<h2>Is MASM included?<\/h2>\n<p>Yes.<\/p>\n<h2>Are there improvements to C++ AMP shared memory?<\/h2>\n<p>In Visual Studio 2013, we added support for &#8220;zero copy&#8221; scenarios. C++ AMP also got better debugger and profiler support so that you can examine operations being performed on the GPU. We added a bunch of features to enhance support for textures and side-by-side CPU\/GPU debugging (mixed-mode debugging is available on Windows 8.1 for the WARP accelerator).<\/p>\n<p>For more information, see <a href=\"http:\/\/blogs.msdn.com\/b\/nativeconcurrency\/archive\/2013\/06\/28\/what-s-new-for-c-amp-in-visual-studio-2013.aspx\">What&#8217;s New for C++ AMP in Visual Studio 2013<\/a>.<\/p>\n<h2>Is AMP cross platform?<\/h2>\n<p>Yes. For more information, see <a href=\"http:\/\/blogs.msdn.com\/b\/nativeconcurrency\/archive\/2013\/11\/13\/c-amp-to-target-khronos-spir-and-hsail.aspx\">C++ AMP to target Khronos SPIR and HSAIL<\/a> on the <a href=\"http:\/\/blogs.msdn.com\/b\/nativeconcurrency\">Parallel Programming in Native Code<\/a> blog. While there, check out the many other articles on C++ AMP.<\/p>\n<h2>Can I target Windows XP?<\/h2>\n<p>Yes.<\/p>\n<h2>Are you considering other back ends like LLVM or Clang?<\/h2>\n<p>No plans at this time.<\/p>\n<h2>Will you support PeX and Moles? What about Pexforfun?<\/h2>\n<p><a href=\"http:\/\/research.microsoft.com\/en-us\/projects\/pex\/\">PeX and Moles<\/a> provide isolation and White box unit testing for .NET. With <a href=\"http:\/\/www.pexforfun.com\/\">Pexforfun<\/a>, you can write, compile and run code and analyze the behavior of code interactively.<\/p>\n<p>Visual Studio 2013 has strong static analysis (using <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/ms182025.aspx\">\/analyze<\/a>) for native code.<\/p>\n<h2>When will you improve the project properties dialog?<\/h2>\n<p>It is resizable in Visual Studio 2013, but it definitely needs more improvement.<\/p>\n<h2>NuGet for C++?<\/h2>\n<p>Done! Read all about it <a href=\"http:\/\/blogs.msdn.com\/b\/vcblog\/archive\/2013\/04\/26\/nuget-for-c.aspx\">here<\/a>.<\/p>\n<h2>Will there be generic lambdas in the next CTP?<\/h2>\n<p>Keep an eye on <a href=\"http:\/\/blogs.msdn.com\/b\/vcblog\/\">VCBlog<\/a> for an update by the end of the year.<\/p>\n<p>This is the most requested feature in the C++14 standard and it is on the roadmap presented by Herb Sutter in his <a href=\"https:\/\/channel9.msdn.com\/Events\/GoingNative\/2013\/Keynote-Herb-Sutter-One-Cpp\">One C++<\/a> keynote at Going Native 2013 earlier this year.<\/p>\n<h2>Does Visual C++ use ASTs?<\/h2>\n<p>The VC++ compiler uses different technology internally. As we develop more C++11 features (e.g. constexpr), we&#8217;ve been significantly revamping the internal compiler technologies that we use, including adding ASTs. These ASTs are not exposed for 3<sup>rd<\/sup> party use at this time.<\/p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Did you watch Charles Torre&#8217;s discussion with Ale Contenti, Tarek Madkour and Herb Sutter at the Visual Studio 2013 Virtual Launch last month? The team answered a number of questions from Charles and the community on topics ranging from refactoring to PEX. In case you missed the video (or missed some of the answers), the [&hellip;]<\/p>\n","protected":false},"author":264,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[204,195],"class_list":["post-1003","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus","tag-faq","tag-vs2013"],"acf":[],"blog_post_summary":"<p>Did you watch Charles Torre&#8217;s discussion with Ale Contenti, Tarek Madkour and Herb Sutter at the Visual Studio 2013 Virtual Launch last month? The team answered a number of questions from Charles and the community on topics ranging from refactoring to PEX. In case you missed the video (or missed some of the answers), the [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/1003","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/264"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=1003"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/1003\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/35994"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=1003"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=1003"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=1003"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}