4

我正在尝试测试 ac 程序是否已正确编译和执行。

假设我刚刚在 ac 程序中打印Hello World ,所以我想编写 ac 程序来检查

第一个程序已返回 0 或已返回其他内容。

我怎样才能做到这一点。

提前致谢。

4

1 回答 1

3

这通常取决于平台,并且取决于您如何从另一个程序运行一个程序。如果您使用 C 库函数system,您可以运行该程序,然后从该程序中读取状态码,如下所示:

int returnCode = system("./hello-world-program");
if (returnCode == 0) {
     ...
}

但是,您通常最好使用操作系统级别的原语来执行此操作。Linux 使用forkandexec来处理这个问题,您可以通过将该wait函数与其他代码结合使用来读取给定进程 ID 号的子进程的退出代码。Windows 有自己的机制来执行此操作,不幸的是,我并不熟悉。

希望这可以帮助!

于 2012-04-08T19:36:12.493 回答