我试图了解 execl 命令的各个部分。我是 C 编程新手,对 linux 不太熟悉。我被告知使用这个命令执行几个语句,在大多数情况下我想我理解它。
execl(location here, followed by arguments, terminated by a null pointer)
我的任务是使用此命令执行以下操作:
进程状态树,ps --forest
execl("/bin/ps", "ps", "--forest", (char*) NULL); 这有效
日期和时间,日期
execl("/bin/date", "date", 0, (char*) NULL); 这有效。
“财富”命令
execl("/usr/bin/fortune", "fortune", (char*) NULL); 这不起作用。
execl("/bin/fortune", "fortune", (char*) NULL); 这不起作用。
Fortune 命令的主要问题是我要么缺少参数,要么位置错误。我假设它是位置,因为我可以在命令行中使用“fortune”来执行它。我已经搜索了正确的位置,但找不到任何提及。
编辑:多亏了 ojblass,位置被验证为“/usr/bin/fortune”,这意味着我的论点一定不正确。
长目录列表代码
execl("/usr/bin/find", "find", "/", "-name", "date", "-maxdepth", "3", "2>", "/dev/null", (char *)NULL); 这不起作用。
编辑:改为:
execl("/usr/bin/find", "find", "/", "-name", "date", "-maxdepth", "3", "2>/dev/null", (char *)NULL);
这应该从根目录的最大深度为 3 处找到具有给定名称的文件,然后将所有错误消息发送到 /dev/null。我对这个命令很迷茫。
对于这个,我不确定如何处理,但我知道我需要接受他们提供的参数,然后将其传递给我创建的处理程序。所以像:
`execl("/bin/I don't …Run Code Online (Sandbox Code Playgroud) 关于C编程的快速问题.我没有参加过课程,但是正在网上阅读指针和使用的各种符号.以下行是否会产生一个包含10个整数指针的数组,或者指向10个整数数组的指针?
int *x[10];
Run Code Online (Sandbox Code Playgroud)
以下结果也会产生一个函数,它接受一个double作为输入并返回一个指向字符的指针?
char (*f) (double a);
Run Code Online (Sandbox Code Playgroud)
提前致谢!
编辑:错误地输入第一行代码.
我是装配新手并且在以下方面运行:
cmp 0x2c(%esp),%esi
Run Code Online (Sandbox Code Playgroud)
它显然试图比较,但我不知道0x2c(%esp)是什么.我正在使用GDB,因此访问该值的命令会很有帮助.下一行显示两个值是否相等.