gpt4 book ai didi

c - 如何读取由 system() 函数创建的子进程的错误号?

转载 作者:太空宇宙 更新时间:2023-11-04 08:10:15 30 4
gpt4 key购买 nike

我正在使用下面的代码

system("gcc -c main.c -o main.o");
system("gcc -c add.c -o add.o");
system("gcc main.o add.o -o Output.exe");

这段代码通常会一直执行所有的语句。如果代码中有任何错误,我想停止执行,即如果 main.c 中有错误,则不应执行以下两个语句。如果 add.c 有错误,则第三个不应执行。我发现的一个建议是使用函数设置的 errno 值,那么该怎么做呢?我们知道 system() 根据手册页使用 fork() 创建一个 child 所以我想从 child 那里读取错误值!

最佳答案

系统返回命令的退出状态。所以你可以这样做:

error = system("gcc -c main.c -o main.o");
if (error) {
// report error
}

关于c - 如何读取由 system() 函数创建的子进程的错误号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40060402/

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