gpt4 book ai didi

c++ - 如何以编程方式询问编译器以在 C++ 中编译文件?

转载 作者:IT老高 更新时间:2023-10-28 12:30:25 25 4
gpt4 key购买 nike

以下是我的 C++ 程序:

main.cpp

#include <iostream>
#include <fstream>

using namespace std;

int main() {

ofstream fileWriter;
fileWriter.open ("firstFile.cpp");
fileWriter << "#include <iostream>" << endl;
fileWriter << "int main() {" << endl;
fileWriter << "\tstd::cout << \"hello world\" << std::endl;" << endl;
fileWriter << "\treturn 0;" << endl;
fileWriter << "}" << endl;
fileWriter.close();

return 0;
}

当上述程序执行时,它会创建一个名为“firstFile.cpp”的文本文件,其中包含以下代码:

firstFile.cpp

#include <iostream>
int main() {
std::cout << "hello world" << std::endl;
return 0;
}

它在执行时会在屏幕上打印“hello world”。

所以,我想在 main.cpp 文件中添加几行代码,要求 GCC 编译刚刚创建的新 firstFile.cpp

我在 Ubuntu 和 Windows 平台上都使用 GNU gcc。

是否可以通过调用编译器获得任何错误代码?如果不是为什么。

最佳答案

使用 std::system 并不太难。命令。还有raw string literals允许我们插入多行文本,这对于键入程序部分很有用:

#include <cstdlib>
#include <fstream>

// Use raw string literal for easy coding
auto prog = R"~(

#include <iostream>

int main()
{
std::cout << "Hello World!" << '\n';
}

)~"; // raw string literal stops here

int main()
{
// save program to disk
std::ofstream("prog.cpp") << prog;

std::system("g++ -o prog prog.cpp"); // compile
std::system("./prog"); // run
}

输出:

Hello World!

关于c++ - 如何以编程方式询问编译器以在 C++ 中编译文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36150706/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com