Clang with Microsoft CodeGen 2016年1月)发布上线

[原文发表地址]Clang with Microsoft CodeGen (January 2016) released [原文发表时间]2016/1/21 2:34 AM 我们已经发布了一个带外的Clang/C2工具集,它包含了一些社区问题的修复和测试中发现的bugs。这是未来即将快速发布众多版本中的一个,来自用户的一些问题反馈会逐渐处理。这里我们只列出相较于之前版本的新变化, 更多关于Clang/C2工具的详细讨论,请参阅VS2015.1的Microsoft CodeGen in VS 2015 1。 这个更新仍然是基于Clang3.7的一些相关优选的社区问题修复,并且将C2.dll的版本修改为19.023413.0。 Microsoft Fixes 修复原子布尔类型std::atomic_flag,使其生成正确的静态代码. 修复了”Static Library for Universal Windows”模板在目标平台为ARM时,使用Clang/C2工具集的问题。 修复了Clang/C2 和Android MDD同时安装,共享的Clang编译器的目标定义文件被重写的问题。 改变了当从工具集Visual studio 2015(v140)切换到Clang/C2的一些默认参数, 使其更好的兼容新工具集(EH开启异常捕捉模式, PCH预定义头文件默认关闭)。 Community Fixes r254346 [PR25661]根据r254323, 恢复部分一部分r217213。 r254323 [MS Compat]在推演模板参数时,调整了之前的调用机制thiscall, 变为新的调用机制cdecl。 r253843 [MS ABI] 允许调用__RTDynamicCast。 r253523 [MS ABI] 让arbitrary entities加入 vftable的排列 r253013 [Sema]…

0

Visual Studio对安卓CMake 工程的支持

[原文发表地址] Support for Android CMake projects in Visual Studio [原文发表时间] 2015/12/16 3:16 AM CMake 是一个跨平台工程生成工具,它能让共享的C++跨平台代码在其他多种IDE环境和工程中重复利用。 在Visual Studio中,我们做了一些改变,使CMAKE能支持Android工具链。有了这一改变,你只需做最小的改动,就可以将现有的CMAKE工程变成Android目标平台的工程,你可以在Visual Studio打开你的工程,充分感受到我们丰富的Android集成开发环境的好处。 我们已经在努力做微软CMake 开源github资源库,也打算和Kitware合作将这些改变集成在公开的CMake资源库。 但是当下,下面是你们需要做的一些步骤。 前提条件,请在Visual Studio上安装Android MDD包 获取CMake 在Microsoft CMake 资源库的VCMDDSndroid下面。  请点击“Download ZIP”按钮 ,下载离线备份的VCMDDAndroid,并解压。            从https://cmake.org/download/安装CMake3.4.1,这是编译CMake做必须的,推荐Win32 安装器。  在解压缩的文件目录下,运行 cmake –G “Visual Studio 14” ,这个会从根目录下启动CMake ,大概会花15分钟左右。 这样将会使用Visual Studio 2015生成工具,和生成Visual Studio工程。目的是在Visual Studio中编译CMake。              在CMake运行后,在out文件中应该有Visual Studio 工程。 运行 msbuild cmake.sln,这将会编译CMake, 你可以在VS2015…

0

VS 2015 Update 1 中带微软代码生成的Clang

[原文发表地址]Clang with Microsoft CodeGen in VS 2015 Update 1 [原文发表时间] 2015/12/4 7:17 PM [这篇博客的作者是Dave Bartolomeo 和Clang/C2 团队的组员] 在开发和维护跨平台C++代码方面,其中一个改变就是针对不同平台的不同编译器的问题。 你写的一些针对Windows平台的代码,用Visual C++编译器可以编译成功,但那时你针对安卓平台的编译就会失败,那是因为Clang的标准规格更为严格,你的代码恰好是按照比较宽容的Visual C++编写的。又或者你针对iOS用了一些新的代码,Clang可以编译成功,但是才发现这些新的C++语言,Visual C++是还无法支持的,你只能想办法重新实现这个方法而不用这个新的语言特性,或者生成一个单独的能够用Visual C++编译的Windows实现方式。 为了能够更加方便的进行跨平台代码的开发,使在Windows 和其他平台更好的工作, 我们为Visual Studio单独发布了一个额外的编译工具集, 叫带微软代码生成的Clang编译器。这个编译器为C语言和C++语言使用开源的Clang解析,还有Visual C++ 编译工具的代码生成器和优化器。像对其他平台一样,你可以为Windows使用相同的Clang解析你的跨平台代码,还能够充分利用Visual C++优化器先进的优化功能。因为针对非Windows平台,新的工具也使用的是一样的Clang解析,你不需要在代码里写满令人讨厌的#ifdefs,只需要为不同的编译器说明下即可。同时你的代码中可以使用那些还没有被Visual C++ 编译器所支持的语言特性, 包括C99 复杂类型和C++ 14 扩展的constexpr的支持。因为基于Clang的编译器会长生和Visual C++编译器一样格式的调试的信息,所以你能感受到同样很棒的Visual Studio 调试器体验。 用新的编译工具所编译的代码能够和Visual C++ 2015 C和C++编译器所编译的其他代码相链接。通常,你可以使用带微软代码生成的Clang编译器来编译跨平台代码,用普通的Visual C++ 工具集来编译特定的Windows代码(例如,你的UI)。 请注意,带微软代码生成的Clang编译器现在是一个预览功能。 我们知道在很多方面它还不够完善,仍存在一些漏洞。我们希望你可以尝试使用这个新功能,明白它如在应用在你的代码工作上,并给我们反馈。 安装 在Visual Studio 2015 Update 1中,Visual Studio安装时开始进行功能选择时的UI界面,你会看到在“跨平台和手机开发\Visual…

0