问题标签 [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.
c - 如何在不包含“unistd.h”的情况下使用 read() 和 write()?
我在程序中使用了系统调用 read() 和 write(),但程序中没有包含“unistd.h”头文件。但是该程序仍然有效并给出了预期的结果。
运行程序后,我想我会阅读 read() 和 write() 的手册页。
在 read() 和 write() 的 man 2 页面中,在 SYNOPSIS 部分中提到我需要包含 unistd.h 头文件才能使用 read() 或 write()。
所以我很惊讶我的程序是如何工作的,尽管我没有包含 unistd.h ?
下面是我的程序。这是一个使用 read() 和 write() 系统调用将源文件的内容复制到目标文件的程序。
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
. 我在哪里可以找到该文件的官方/原版版本,以及它引用和元引用的文件?
linux - linux中unistd.h和sys/types.h的区别
当我在 The Open Group 中搜索头文件 unistd.h 时,我发现它包含标准符号常量和类型,对于 sys/types.h,它表示数据类型。
然后我发现两者都有uid_t,pid_t和几个类似的类型。
我很困惑为什么他们会如此分裂,他们之间有什么区别。我已经google了,但我没有得到满意的答案。
如果有人能给我详细的解释,我将不胜感激。
谢谢你。
c - 带有 Crypt 的低级 IO
我正在尝试将从文件的每一行获取的加密字符串与 AAAA-ZZZZ 进行比较,直到找到与密码匹配的字符串。我保证用户密码为 4 个字符。我想要做的是使用 LowLevel IO 获取文件并使用每行的解密密码输出到一个新文件。我还不是最擅长 C 编程的,所以请保持温和。我需要指导如何创建从 AAAA 一直到 ZZZZ 的数组或列表,然后将每个数组或列表与文件行的解密版本进行比较。
- 如何逐行解密文件并将其保存到char []
- 如何将每一行与另一个 char [] 进行比较,直到找到密码
例如:
如果该行是 $1$6gMKIopE$I.zkP2EvrXHDmApzYoV.B。下一行是 $1$pkMKIcvE$WQfqzTNmcQr7fqsNq7K2p0。假设解密后得到的密码是 ABSZ 和 TAZE,新文件将在第一行得到 ABSZ,在第二行得到 TAZE。
这是我到目前为止所拥有的:
这是文件:
c++ - 使用 chdir() 导致分段错误
我正在编写一个批处理模拟器作为个人项目。我正在尝试使用 unistd.h 中的 chdir() 来实现 cd 命令。但是,使用它会导致段错误。
主.cpp:
chdir.cpp:
奇怪的是,使用 cout 获取 chdir 的路径工作得非常好。我该如何解决?
c - 尝试使用 execvpe(...) 但得到隐式声明错误 - 即使我认为我使用了正确的参数类型
编译时收到以下警告:
^
我的理解是,当您尝试使用的函数具有不正确的参数类型时,就会发生这种情况。但是,我很确定我提供了正确的论点:
以下是我的代码的相关部分:
任何人都知道为什么我不断收到这个错误?谢谢!
linux - 当子进程正在执行时,CPU 能否将进程保持在挂起状态 10 秒?
这个问题是我期中考试的一部分,教授给出的答案非常荒谬。
我只想知道什么是正确答案。
代码:
问题: 以下代码的所有可能输出是什么?
我的回答是,
1)
输出: None
原因:当fork失败时。(系统不允许创建子进程)
2)
输出: Parent Process
原因:因为父母和孩子现在都处于竞争状态。谁可能先执行,父进程会提前完成并因此退出函数,然后程序本身将退出。现在,当父母结束时,孩子无法活着。就这样也结束了。
但是教授考虑了另一种状态,当孩子首先开始执行并开始睡眠循环时。现在轮到父母了,处理器太忙了,因此让进程处于挂起状态约 10 秒。现在到这个时候孩子完成睡眠并恢复执行,逐渐父执行,因此输出是,
输出:
Child Process
Parent Process
虽然这种情况发生的可能性非常非常非常少,并且只有当进程上下文切换器非常繁忙但他仍然说有可能?现在我不相信他的推理,要知道这真的有可能吗,至少在现在的 linux OS 中是这样吗?
c - C:无法从文件打印
所以我有这个项目,我需要在 C 中打开一个文件并打印内容,但我必须使用 unix 系统调用。但是,我不清楚为什么没有打印。我尝试运行代码,但它似乎直接跳到关闭错误。我知道我需要 unistd.h,我已经包含了。
编辑:这是声明。这 '。' 正在跳过只是设置标志的代码。
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() 函数替换它的好技巧是什么,这样它就可以编译好(相信它实际上并没有被我的特定用例使用)。
c++ - C++ SIGINT 和 SIGSTP 通过 ctrl+c 和 ctrl+z
我正在写一个 shell 并想要实现信号SIGSTP
和SIGINT
. 当用户启动一个新进程并按下CTRL+C时,它应该向进程发送一个 SIGINT,当按下CTRL+时Z,进程应该得到 SIGSTP 信号。
到目前为止,这是我的代码:
我不知道如何在我的代码中实现 SIGSTP 和 SIGINT 信号。