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()功能).
如果我在任何地方都错了,希望这有助于纠正我.
您可以将所有cpp文件添加到具有不同文件名的同一项目中,然后您可以右键单击每个文件并排除您不想构建的文件.
虽然每个应用程序有一个项目要好得多.
或者,你可以有一个主文件,在你实现练习的其他文件中调用你的其他函数,然后你不必处理任何事情,只需在新文件中实现新练习并从main调用它.
你也可以使用条件编译来解决这个问题。但我真的建议您努力为每个程序创建一个新项目。
头文件.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要运行的程序进行选择。