下的Visual Studio 2015年或以后,我们可以通过两种方式使用铛:“Clang与Microsoft CodeGen”和“LLVM-vs2014”有什么区别?
选择
Clang with Microsoft CodeGen
为Platform Toolset
;安装
LLVM-3.8-win64.exe
,并选择LLVM-vs2014
作为Platform Toolset
;
我知道两者的两种方式使用相同的编译器:clang 3.8
。但是,我不知道他们之间有什么不同。
我的经验显示Clang with Microsoft CodeGen
比LLVM-vs2014
更具调试性。换句话说:
我可以调试通过
Clang with Microsoft CodeGen
步步作为VC++确实建立了一个程序;由“LLVM-vs2014”构建的程序无法在源代码级逐步调试,但程序可以按预期方式直接运行。
所以,我的问题是:
是否LLVM-vs2014
不支持的Visual Studio在源代码级调试?
Clang with Microsoft CodeGen
是Clang with Microsoft CodeGen
仅由Microsoft提供的,用于支持Visual Studio下的源代码级调试吗?
Clang只提供编译器的前端。更好的错误报告是它声名鹊起的主张。其他人提供后端,代码生成器和优化器。如果您使用VS提供的工具集,那就是微软的。但是如果你使用其他的,你可以自己带LLVM。他们对鼓不感兴趣,异常处理传统上是关键。当然,调试是一个问题,你不能依赖VS提供的调试器引擎。在我看来,你需要lldb,也是LLVM包的一部分。铿锵看起来像一个前端调整接受MSFT的怪癖。 –