运行同一解决方案的另一个项目的项目
run a project of another project of the same solution
我有两个项目,都在同一个解决方案上。
项目#1:基于调试输入执行单个操作。为了简单起见,假设main打印调试输入。
项目#2:我想使用在不同调试上运行的for循环来运行项目#1输入。
我如何才能正确高效地做到这一点?据我所知,不建议从项目#2调用项目#1 exe文件。是否有其他方式运行项目#1::main,而不更改项目#1?仅对项目#2进行了更改。。
谢谢,
高级c++新手。
您不必在单独的项目中执行,您可以使用不同的命令行选项从一个项目中执行所有操作。
对于选项一,可以将命令行运行为:pro.exe debug-print1
该项目只是打印参数并退出。
对于第二个选项,您可以创建一个文件,
您可以将所有调试打印放在文件中,并在文件的每一行上迭代,您只需要将其标记为文件,例如用-f filename
。
下一步是在同一次运行中处理多个文件或调试打印,或文件和打印的组合。
因此,以以下代码为例:
#include <string>
#include <iostream>
#include <fstream>
//process a line function:
void proccess_debug_line(const std::string& debug_line)
{
std::cout<<debug_line<<std::endl;
}
//process file by processing each line:
void process_debug_file(const std::string& debug_file_name)
{
std::string debug_line;
std::ifstream inputfile(debug_file_name);
if(!inputfile)
{
std::cerr<<"error openning file: "<< debug_file_name <<std::endl;
}
while(std::getline(inputfile, debug_line))
{
//use the process line
proccess_debug_line(debug_line);
}
}
//argument can be a line, or a file if there is -f before it.
int main(int argc, char **argv)
{
for(int i=1; i<argc; i++)
{
std::string param = argv[i];
if(param[0] == '-')
{
if(param == "-f") // arguments in form -f filename
{
if(i == argc-1 ) // -f is last arg
{
std::cerr<<"Missing argument for " << param << " option."<<std::endl;
}
else //-f filename
{
std::string filename = argv[++i];
process_debug_file(filename);
}
}
else if(param.substr(0,2)== "-f")// argument in form -ffilename can be legal too
{
std::string filename = &(argv[i][2]);
process_debug_file(filename);
}
else
{
std::cerr<<"Unknown option '" << param << "'"<<std::endl;
++i;
}
}
else //a 'regular' parameter (without -f before it) is a debug print
{
proccess_debug_line(param);
}
}
}
相关文章:
- 运行同一解决方案的另一个项目的项目
- 如何有效地将(一些)项目从一个std::map移动到另一个std::map
- 是否可以将 EXE 文件作为 lib 文件链接到另一个项目?
- 从另一个动态链接库项目调用静态库函数
- 如何在QListWidget中显示QStringList的每个项目QLabel和另一个QString?
- 如何使用另一个项目命名空间?
- 如何将一个 exe 项目链接到另一个 exe 项目中的类
- 如何在我的 cmake 项目中包含另一个 cmake 项目的头文件?
- 单元测试类无法在我要测试的同一解决方案中的另一个项目中找到类
- 在 NDK 上编译两个带有 gradle 的项目,其中一个依赖于另一个的二进制文件
- 如果我尝试将对话框从一个项目移动到另一个项目,我是否需要从 rc 文件中复制 DESIGNINFO、对话框信息和AFX_
- OpenCV:文件存储操作员">>"在一个项目中工作,但不在另一个项目中工作(在同一类上)
- LNK2019与另一个工作项目具有相同属性的项目上的错误
- Qt 创建者在我将项目移动到另一个地方后仍然使用源项目
- 如何将另一个项目中用 C 编写的源代码包含在我自己的项目中,C++在 Visual Studio 中
- 如何创建一个函数,该函数可以从一个qtreewidget中删除项目并将其添加到另一个函数
- 将过滤器中的所有.cpp和.h移动到另一个项目并更正其文件夹位置
- 在另一个项目中包括继承的类时,抽象类的链接器错误
- 创建在另一个项目中定义的类对象
- 如何在不复制的情况下将C++类从一个项目重用到另一个项目