使用Visual C++ Toolkit 2003和CodeBlocks进行调试

cdo*_*nts 6 debugging codeblocks visual-c++ visual-studio-debugging

我正在使用免费的Microsoft Visual C++ Toolkit 2003(编译器VC++ 7.1)和CodeBlocks IDE开发C++项目.您可能知道,这个免费软件包不包括调试器工具,只包括编译器和链接器.

有没有办法在我当前的场景中包含调试器?在不使用Visual Studio的情况下调试此项目的几率是多少?

Jef*_*eff 1

由于Code::Blocks是您的偏好,并且您希望使用远程调试,并且您有 VC 编译器的经验,因此最简单、最顺利的解决方案可能是继续沿着这条路走。正如@user1610015建议的那样,更新到VS2015社区版,它肯定包含一个独立的编译器(cl)链接器(link)。当然,CL会代表你调用链接器,除非你另外指定

这是VS版本的对比图(选择“全部展开”)。

作为奖励,您将收到一些关于现代 C++(11 和 14)的巨大更新、更好的远程调试、更好的代码生成、无数的优化、改进的错误报告和分析等等。

然而,对于__asm(从 VS2013 开始),您将被限制为x86。当需要x64时,有些人选择将其移植到intrinics,但许多人只是将汇编器移动到一个单独的.asm文件,并进行一个小的配置更改以使 VS 编译该文件:

  • 选择项目(不是.sln)
  • 从菜单中选择项目 --> 构建自定义...
  • 选中masm旁边的框

如果您打算以x86为目标,则无需进行任何更改。您没有在引用 VS2008 时指定迁移更改,但在从早期 VS 编译器迁移了几个大型旧项目后,我发现这种体验非常轻松。

如果您的编译器特定代码不是压倒性的,请考虑 Clang 和 gcc (MinGW)。我喜欢使用 CLion,并使用 gcc 编译相同的项目 (CMake),我有一个 VS2015 项目和解决方案。有时我会对一些必要的修正感到惊讶。我还没有尝试过Code::Blocks,但我怀疑这是一个类似的练习。

祝你好运。我确信你会粉碎它。