制作使用g ++编译给定代码的程序

时间:2012-03-14 15:38:55

标签: c++ testing compiler-construction g++ evaluator

我正在试图弄清楚如何使用g ++编写一个编写代码的程序,并测试它是否与示例运行良好。 程序中将有一个文本框,您可以在其中输入代码(解决方案)。 假设练习是制作一个计算2个数字之和的程序。

#include <iostream>

using namespace std;

int main()
{
   int a, b;
   cin >> a >> b;
   cout << a + b;
   return 0;
}

该程序要做的是创建一个包含给定代码的example.cpp文件(我熟悉该部分)并使用g ++编译example.cpp。当它编译时,程序必须以某种方式在编译的程序中输入示例并测试结果是否正确。例如,测试编号为4和5,结果必须为9.(这些测试编号可以存储在.txt文件或类似的文件中)。

system("g++ C:\\Users\\%USERNAME%\\Documents\\example.cpp");

使用这个程序编译example.cpp但是如何运行和测试它。

有什么想法吗?谢谢! :)

编辑:我能够运行它并在其中输入测试编号,唯一剩下的就是测试输出是否正确。

system("C:\\Users\\%USERNAME%\\Documents\\g++\\example.exe < example.txt");

1 个答案:

答案 0 :(得分:0)

在MSDN上有一个sample code,它几​​乎完全符合您的要求,即创建新进程并将标准输入和输出重定向到父级创建的管道。