c - 在 Ubuntu 中从另一个 C 文件中运行一个 C 文件

标签 c linux file posix

我需要在 Ubuntu 上的另一个 C 程序中运行一个 C 程序。就像是 scanf i//假设输入了 i=2

switch (i){
case 1: print xyz;
break;
case 2: cc abc.c -lpthread (and then) ./a.out //execute this command to execute file with name abc
break;
}

该怎么做?我彻底搜索了谷歌,但找不到合适的答案。


编辑:我现在从 bash 文件运行上述执行命令。它以一种简单的方式工作并解决了我的要求:D

#! /bin/bash
read a
if [ $a -eq 1 ]
then
    cc ex.c -lpthread
    ./a.out
else 
    echo "hi"
fi

最佳答案

你需要利用fork() and exec()产生一个子进程(不管那个进程在做什么——我注意到你正在编译和运行一个新进程)。

如果您想生成一个进程并等待它,只需依靠返回(错误)代码来确定成功,那么 system() 是一个选项。

关于c - 在 Ubuntu 中从另一个 C 文件中运行一个 C 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23060873/

相关文章:

C:在多线程程序中使用clock()来测量时间

python - 如何在没有 pyinstaller 的情况下使用 "./"创建 python 可执行文件

c++ - 从 txt 文件中读取以字符分隔的元素

linux - 从 UWP 到 Linux/Python 服务器的直播

c++ - Ubuntu Qmake 不是可执行文件

azure - 如何在 PySpark 中保存带有当前日期和时间的文件名?

来自 c dll 的 c# 回调,指向 c# 类的指针 arg

c# - 从文件中修剪函数,以便仅剩下的字符是函数名称和参数

c - Socket select() 时间切换?