在更改该点下面的代码后,是否可以从代码中间的特定点重新运行C ++代码?

时间:2014-02-11 10:41:11

标签: c++ c compilation

所以,我有一个C ++程序,我使用visual studio 2010.我的程序主要是程序性的而不是面向对象的编程。我的程序的第一部分做了一些事情,然后下半部分做了一些使用上半部分信息的事情。上半部分需要一段时间(约20分钟)才能运行(我通过在调试模式下运行它并在上半部分结束后立即设置了断点)。

问题是我正在为下半部分尝试不同的想法。现在,每当我为任何新想法编写代码时,我都必须从头开始运行整个代码,因此必须等待新的下半部分运行之前的20分钟。这非常不方便/效率低下;因为我会这样做一段时间。我也不能真正地写下我的所有想法并同时运行不同的程序(同一个上半部分和不同的后半部分对应于每个想法),只是因为我在运行旧的想法之后获得了每个新想法,并了解有关我的算法的行为。

那么,有没有什么方法可以在第一部分之后立即开始运行代码,每当我在第二部分中更改某些内容时,而不是必须编译它并在每次我更改内容时从头开始运行它第二部分?那怎么可能呢?

1 个答案:

答案 0 :(得分:3)

由于您使用的是Visual Studio,因此应该查看Edit and Continue

  

“编辑并继续”是一项省时功能,可让您进行制作   在程序处于中断模式时更改源代码。什么时候   通过选择执行命令继续执行程序   如继续或步骤,编辑并继续自动应用   代码更改有一些限制。这允许您进行更改   调试会话期间的代码,而不是必须停止,   重新编译整个程序,然后重新启动调试会话。

但请注意限制 - Unsupported Scenarios,您可能需要构建代码更改以适应支持的范围。