xml*_*lmx 7 c++ debugging llvm clang visual-studio
在Visual Studio 2015或更高版本中,我们可以通过两种方式使用clang:
选择
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由微软只为Visual Studio支持下的源代码级调试提供?
我知道这两种方法都使用相同的编译器:clang 3.8.但是,我不知道它们之间有什么区别.
不同之处在于他们如何使用它.
Clang with Microsoft CodeGen正在使用Clang 将源解析为AST.但随后MSVC的代码生成器启动,因此不使用任何与LLVM相关的内容.
LLVM-vs2014在每个编译阶段都充分使用Clang.它使用LLVM生成代码.因此,难怪调试信息与Visual Studio所期望的不兼容.
值得注意的是,它们都使用相同的运行时.Clang具有clang-cl模式,使其能够解析Microsoft标头并使用其语言扩展.
因此,主要区别在于中后期阶段.
| 归档时间: |
|
| 查看次数: |
2086 次 |
| 最近记录: |