我创建了一个空项目,并在项目中添加了两个(.cpp)项。请记住,我是C ++ Visual Studio的初学者,因此我没有使用任何代码以某种方式连接这两个文件。
问题:调试器可以调试我的第一个文件,但是当我打开第二个文件并通过单击“本地Windows调试器”(当我在第二个文件中时单击)开始运行时,无论是否有错误,它仍将继续运行第一个文件。
当我点击“Local Windows Debugger”后查看调试窗口时,我看到文件路径指向第一个文件。
我尝试过:完全关闭第一个文件,关闭visual studio并从文件夹路径打开第二个文件,关闭第一个文件中的断点并在第二个文件中打开
我想知道:如何才能运行第二个文件?我是否必须使用命令提示符将空项目中的两个项目分开?我顺便使用Windows 10。
我搜索了我的问题,但我很难找到一个提供解决方案的指南
答案 0 :(得分:1)
Dracep无法调试他们拥有的两个文件中的一个。这是因为他们在两个文件中都有一个主函数定义,导致编辑器偏爱另一个。
通过在应用程序中设置第三个专用入口点(I.E.只有一个入口点,然后包含其他文件),您可以决定在任何给定时间调试哪个文件。
例如,拥有一个名为main.cpp
的文件,然后使用#include "filename.h"
包含其他两个文件。
从那里你可以包含文件并通过调用该文件中的函数来进行代码检查,而不是使用main并逐步降低它,从而导致长期的可伸缩性问题。
请参阅this question on separating your logic from your definitions,因为标记正确的答案是大多数C ++项目的标准。
这样,您可以执行以下操作:
#include "File1.h"
#include "File2.h"
int main(int argc, char** argv)
{
File1Class file1Class;
File2Class file2Class;
//Do whatever tests you like with either.
}