我可以在Visual Studio 2012中编译和调试(运行)单个C++文件吗?(如何避免创建太多项目)

Sun*_*rma 18 c++ single-file visual-studio-2012

我正在学习C++并使用Visual Studio 2012.为了学习本书的练习,我需要在其中创建带有main()函数的多个.cpp文件.有没有什么方法可以编译/调试我的程序而不是每次都创建一个新项目?

例如,如果我写一个简单的"Hello,World!" 文件,然后决定做一些非常简单的事情,我可以避免为每个简单的程序制作一个新项目吗?有没有办法像编译器一样使用Visual Studio 2012?如果我能在一个项目中拥有所有内容,我可以编译我想要的任何单个文件并看到它运行,我会喜欢它.

谢谢你的帮助.

Pal*_*shV 10

虽然添加这个答案为时已晚,但它对未来观众可能有用.这就是我做的 -

在尝试找出如何使用Visual Studio达到您所要求的相同目的时,我观察并发现对于C++项目,应该只有一个起点,即只有一个main()函数.

因此,不是每次都创建一个新项目,只需main()将未使用的C++文件中的()函数名称更改为其他名称,如文件名或任何内容.


例如,我首先hello_world.cpp使用main()函数创建了我的第一个程序,然后编译它,运行它并学习我可以使用它的所有内容.

但是现在我想创建一个新文件来尝试其他新东西(一个learn_operators.cpp具有main()自己功能的新文件).

因此,在尝试编译和运行之前learn_operators.cpp,我会将main()in 的名称更改hello_world.cpp为,比如说,hello_world()然后以与以前相同的方式构建和运行项目,但这次只有这个新文件将运行,因为这是(新的)项目的起点(即它包括main()功能).

如果我在任何地方都错了,希望这有助于纠正我.


Nee*_*asu 7

编译只需制作一个cpp文件.并使用cl命令行工具,检查MSDN链接:从命令行编译本机C++程序它有一个示例cl /EHsc simple.cpp


小智 6

  1. 右键单击文件。
  2. 转到您不想运行的特定文件的属性。
  3. 在“配置属性”中,转到“常规”。
  4. 将“从生成中排除”设置为“是”。
  5. 单击应用。
  6. 然后加载Windows调试器。

你定了!


Bar*_*klı 5

您可以将所有cpp文件添加到具有不同文件名的同一项目中,然后您可以右键单击每个文件并排除您不想构建的文件.

虽然每个应用程序有一个项目要好得多.

或者,你可以有一个主文件,在你实现练习的其他文件中调用你的其他函数,然后你不必处理任何事情,只需在新文件中实现新练习并从main调用它.

  • 仅为了测试几行代码而创建多个文件是荒谬的。 (2认同)

tzw*_*ckl 5

你也可以使用条件编译来解决这个问题。但我真的建议您努力为每个程序创建一个新项目。

头文件.h

#include<iostream>
#define __HelloWorld__
Run Code Online (Sandbox Code Playgroud)

HelloWorld.cpp

#include"header.h"

#ifdef __HelloWorld__

int main() {
    std::cout << "Hello World" << std::endl;
}

#endif
Run Code Online (Sandbox Code Playgroud)

程序2.cpp

#include"header.h"

#ifdef __program2__

int main() {
    std::cout << "Program 2" << std::endl;
}

#endif
Run Code Online (Sandbox Code Playgroud)

现在您可以通过#define要运行的程序进行选择。