你不是睡不着,你只是还想着过去,还想着那个她。。。
---- 网易云热评
1、编一个C文件用到的命令是gcc xxx.c -o xxx
2、运行编译好的程序xxx.exe
3、首先获取路径,判断路径是否为空
if(path.isEmpty())
{
return;
}
4、构建编译命令
QString demo=path;
demo.replace(".c","");
QString cmd=QString("gcc %1 -o %2").arg(path).arg(demo);
cout << cmd;
//上面获取的数据是Qstring,需要转换成char*
std::string str=code->fromUnicode(cmd).data();
const char *cmdc=str.c_str();
cout << cmdc;
运行结果:
gcc C:/Users/aiyou/Desktop/456.c -o C:/Users/aiyou/Desktop/456
5、执行编译命令,如果返回结果不为0说明执行成功
int ret=system(cmdc);
if(ret!=0)
{
return;
}
6、构建运行编译好的程序的命令,cmd /k,可以让dos窗口停留
QString target=QString("cmd /k %1").arg(demo);
str=code->fromUnicode(target).data();
const char *targetc=str.c_str();
system(targetc);
欢迎关注公众号:顺便编点程