小编use*_*751的帖子

使用 execl 命令

我试图了解 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 linux signals

5
推荐指数
1
解决办法
1万
查看次数

指针问题c

关于C编程的快速问题.我没有参加过课程,但是正在网上阅读指针和使用的各种符号.以下行是否会产生一个包含10个整数指针的数组,或者指向10个整数数组的指针?

int *x[10];
Run Code Online (Sandbox Code Playgroud)

以下结果也会产生一个函数,它接受一个double作为输入并返回一个指向字符的指针?

char (*f) (double a);
Run Code Online (Sandbox Code Playgroud)

提前致谢!

编辑:错误地输入第一行代码.

c pointers declaration

4
推荐指数
1
解决办法
163
查看次数

在汇编中翻译cmp

我是装配新手并​​且在以下方面运行:

cmp 0x2c(%esp),%esi
Run Code Online (Sandbox Code Playgroud)

它显然试图比较,但我不知道0x2c(%esp)是什么.我正在使用GDB,因此访问该值的命令会很有帮助.下一行显示两个值是否相等.

x86 assembly gdb

-1
推荐指数
1
解决办法
79
查看次数

标签 统计

c ×2

assembly ×1

declaration ×1

gdb ×1

linux ×1

pointers ×1

signals ×1

x86 ×1