问题标签 [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 投票
1 回答
1896 浏览

c - 如何在不包含“unistd.h”的情况下使用 read() 和 write()?

我在程序中使用了系统调用 read() 和 write(),但程序中没有包含“unistd.h”头文件。但是该程序仍然有效并给出了预期的结果。

运行程序后,我想我会阅读 read() 和 write() 的手册页。

在 read() 和 write() 的 man 2 页面中,在 SYNOPSIS 部分中提到我需要包含 unistd.h 头文件才能使用 read() 或 write()。

所以我很惊讶我的程序是如何工作的,尽管我没有包含 unistd.h ?

下面是我的程序。这是一个使用 read() 和 write() 系统调用将源文件的内容复制到目标文件的程序。

0 投票
3 回答
20880 浏览

c++ - clang++:致命错误:找不到“unistd.h”文件

使用 OS X 10.10.2,我下载Clang for Mac OS X v. 3.6.0,并尝试编译一个简单的 Hello World 程序。

我使用的命令是:(
假设你下载clang.

结果是这样的:

这是有道理的,因为没有文件unistd.h,可以通过以下方式验证

这会产生0结果。

我尝试下载LibC++ 源代码v. 3.6.0,但即使它不包含unistd.h. 我在哪里可以找到该文件的官方/原版版本,以及它引用和元引用的文件?

0 投票
1 回答
9378 浏览

linux - linux中unistd.h和sys/types.h的区别

当我在 The Open Group 中搜索头文件 unistd.h 时,我发现它包含标准符号常量和类型,对于 sys/types.h,它表示数据类型。

然后我发现两者都有uid_t,pid_t和几个类似的类型。

我很困惑为什么他们会如此分裂,他们之间有什么区别。我已经google了,但我没有得到满意的答案。

如果有人能给我详细的解释,我将不胜感激。

谢谢你。

0 投票
0 回答
76 浏览

c - 带有 Crypt 的低级 IO

我正在尝试将从文件的每一行获取的加密字符串与 AAAA-ZZZZ 进行比较,直到找到与密码匹配的字符串。我保证用户密码为 4 个字符。我想要做的是使用 LowLevel IO 获取文件并使用每行的解密密码输出到一个新文件。我还不是最擅长 C 编程的,所以请保持温和。我需要指导如何创建从 AAAA 一直到 ZZZZ 的数组或列表,然后将每个数组或列表与文件行的解密版本进行比较。

  1. 如何逐行解密文件并将其保存到char []
  2. 如何将每一行与另一个 char [] 进行比较,直到找到密码

例如:

如果该行是 $1$6gMKIopE$I.zkP2EvrXHDmApzYoV.B。下一行是 $1$pkMKIcvE$WQfqzTNmcQr7fqsNq7K2p0。假设解密后得到的密码是 ABSZ 和 TAZE,新文件将在第一行得到 ABSZ,在第二行得到 TAZE。

这是我到目前为止所拥有的:

这是文件:

0 投票
2 回答
998 浏览

c++ - 使用 chdir() 导致分段错误

我正在编写一个批处理模拟器作为个人项目。我正在尝试使用 unistd.h 中的 chdir() 来实现 cd 命令。但是,使用它会导致段错误。

主.cpp:

chdir.cpp:

奇怪的是,使用 cout 获取 chdir 的路径工作得非常好。我该如何解决?

0 投票
1 回答
9935 浏览

c - 尝试使用 execvpe(...) 但得到隐式声明错误 - 即使我认为我使用了正确的参数类型

编译时收到以下警告:

^

我的理解是,当您尝试使用的函数具有不正确的参数类型时,就会发生这种情况。但是,我很确定我提供了正确的论点:

Linux 手册页中所述

以下是我的代码的相关部分:

任何人都知道为什么我不断收到这个错误?谢谢!

0 投票
4 回答
97 浏览

linux - 当子进程正在执行时,CPU 能否将进程保持在挂起状态 10 秒?

这个问题是我期中考试的一部分,教授给出的答案非常荒谬。

我只想知道什么是正确答案。

代码:

问题: 以下代码的所有可能输出是什么?

我的回答是,

1)
输出: None
原因:当fork失败时。(系统不允许创建子进程)

2)
输出: Parent Process
原因:因为父母和孩子现在都处于竞争状态。谁可能先执行,父进程会提前完成并因此退出函数,然后程序本身将退出。现在,当父母结束时,孩子无法活着。就这样也结束了。

但是教授考虑了另一种状态,当孩子首先开始执行并开始睡眠循环时。现在轮到父母了,处理器太忙了,因此让进程处于挂起状态约 10 秒。现在到这个时候孩子完成睡眠并恢复执行,逐渐父执行,因此输出是,

输出:
Child Process
Parent Process

虽然这种情况发生的可能性非常非常非常少,并且只有当进程上下文切换器非常繁忙但他仍然说有可能?现在我不相信他的推理,要知道这真的有可能吗,至少在现在的 linux OS 中是这样吗?

0 投票
1 回答
156 浏览

c - C:无法从文件打印

所以我有这个项目,我需要在 C 中打开一个文件并打印内容,但我必须使用 unix 系统调用。但是,我不清楚为什么没有打印。我尝试运行代码,但它似乎直接跳到关闭错误。我知道我需要 unistd.h,我已经包含了。

编辑:这是声明。这 '。' 正在跳过只是设置标志的代码。

0 投票
1 回答
1033 浏览

ios - 如何替换或解决 unistd.h 中的 __TVOS_PROHIBITED 依赖项

我正在尝试从源代码编译依赖库,但出现此错误:

/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS9.0.sdk/usr/include/unistd.h:446:8:注意:“fork”已在此处明确标记为不可用pid_t
fork(void) __WATCHOS_PROHIBITED __TVOS_PROHIBITED;

有没有办法解决这个问题?

问题是我实际上什至不需要这个功能。当我为 iOS 编译这段代码并在 tvOS 下运行它时,它就可以工作了。但我无法提交应用程序,因为它包含为 iOS 编译的代码。

用一个虚拟的 fork() 函数替换它的好技巧是什么,这样它就可以编译好(相信它实际上并没有被我的特定用例使用)。

0 投票
1 回答
781 浏览

c++ - C++ SIGINT 和 SIGSTP 通过 ctrl+c 和 ctrl+z

我正在写一个 shell 并想要实现信号SIGSTPSIGINT. 当用户启动一个新进程并按下CTRL+C时,它应该向进程发送一个 SIGINT,当按下CTRL+时Z,进程应该得到 SIGSTP 信号。

到目前为止,这是我的代码:

我不知道如何在我的代码中实现 SIGSTP 和 SIGINT 信号。