问题标签 [unistd.h]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2046 浏览

linux - 函数execve的实现(unistd.h)

如何查看函数 execve 的实现(在 x86_64 Linux 下),它在库 unistd 中?我想要这个,因为我想知道如何使用汇编程序调用外部程序,而不调用 execve。我知道有一个名为 execve 的系统调用,但我不知道如何使用它。

如何将 char * 类型和 char * [] 类型的变量放入寄存器?

0 投票
2 回答
1067 浏览

c++ - 作业 dup2 功能

我对使用以下代码的家庭作业有疑问:

它说,

“要了解为什么需要进行 if 测试,假设 fd 为 1,并画出每次调用 dup2 时三个描述符条目和相应的文件表条目发生的情况。然后假设 fd 为 3,并画出相同的图。”

我想知道是否可以得到一些帮助,因为我很迷茫。

谁能给我一个关于这个材料的快速教程,因为我很难在我的书和网上找到它。谢谢。

0 投票
2 回答
2791 浏览

c++ - 关于 unistd.h (C++) 中的 read()

总之,我正在设计一个Key-Value服务器,当我写客户端的时候,我发现了一个很奇怪的事情,看简化代码:

当我运行程序时,它首先要求输入,所以我输入了一些东西,但什么也没发生!(当我使用其他客户端时,服务器运行良好,并且很好地回显了一些东西)

然后我只更改了一行代码:

然后它运行良好!为什么?为什么“\n”可以改变输出?我想可能是 read() ,但我无法解释

0 投票
3 回答
1150 浏览

c - 不能运行两次execl

如果我尝试执行这些命令:

只有第一个被执行,为什么?

0 投票
3 回答
6285 浏览

c++ - 竞争性编程中的快速输入/输出

我在竞争性编程竞赛的解决方案中多次遇到这个特定的代码片段。我了解此代码的基本用法来超越时间限制,但我想更深入地了解它。我知道 unistd.h 可以访问系统调用包装函数,例如 fork、pipe 和 I/O 原语(读、写……)。

如果有人可以解释或指导我找到可以帮助我进一步理解它的资源,那也很棒。

还有一件事:在生产级代码中使用类似技术是一种好习惯吗?

0 投票
1 回答
206 浏览

c - getdomainname() 在 MPI 下返回错误地址(测试 PETSc 库)

我正在尝试在我的笔记本电脑(MacBook Pro 10.5.8,MPICH2-1.1)上安装 PETSc-3.2,并且在运行测试时遇到了一些困难:它从getdomainname()返回错误地址的系统调用中出错。

为了进行调查,我编写了以下测试代码来检查getdomainname()使用和不使用 MPI 的功能:

单处理器:

平行线:

单处理器代码正常工作,并行代码获取处理器的正确名称,但在调用时返回错误地址,getdomainname()即使使用mpirun -np 1.

有没有人遇到过这样的问题?是否需要进行某种配置,mpirun以便为 MPI 生成的每个进程设置域名?提前致谢!

更新:

对于那些使用 PETSc 遇到此问题的人,请使用选项--with-debugging=0. 似乎在一些 PETSc 调试消息等中,他们使用调用getdomainname()而不是MPI_Get_processor_name(). 在不调试的情况下编译会禁用库中的这个分支。

0 投票
1 回答
4987 浏览

c - 在带有文件描述符的 execl 中使用 grep

我正在尝试执行以下操作:

其中 fd 是文件描述符。所以基本上这应该在 fd 指向的文件中 grep 为“打印”。尽管我没有收到编译错误/警告,但它似乎不起作用。当我给出一个文件名"Something.txt"而不是fd

有人可以告诉我为什么这不起作用吗?(我知道 execl 只需要,const char arg*但正如我所说,没有编译错误/警告)。

0 投票
1 回答
3299 浏览

c - pred 和 pwrite 没有定义?

0 投票
2 回答
140485 浏览

c - 如何使用正确的参数在 C 中调用 execl()?

如果我输入 shell,我有 vlc(再现视频的程序):

/home/vlc "/home/我的电影/我想看的电影.mkv"

它打开了一个复制电影。

但是,当我运行以下程序时:

vlc 打开但不复制任何内容。我该如何解决这个问题?

我尝试过的事情:

我猜的

相当于在 shell 中输入:

这不起作用,所以我尝试了

并且 vlc 打开但也不会复制。

我没有在最后写 NULL,而是尝试了 0, (char*) 0, 1 .... 没有帮助。帮助!!!!

0 投票
1 回答
413 浏览

c - C中的错误代码

我在下面的代码中有错误

我在 GCC(Unix) 中编码,并得到以下错误:

test.c:27:1: 错误:预期标识符 '(' 在 '}' 标记之前

有人可以建议我任何帮助吗?提前致谢 :)