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

c++ - unistd.h 文件未找到,clang++ 和 OS X

我目前正在与clang ++作斗争,在网上看了很长时间后,我决定问我的问题。我在 OS X 上并通过 Emacs 使用 clang++(flycheck 使用它来突出显示错误等)。我有一个非常简单的文件,开头为:

这条线用红色下划线。当我去检查 clang 日志时,这就是我所拥有的:

所以,错误来自iostream包含,并且iostream有一个#include <unistd.h>clang++ 不喜欢的。

我会马上说,我已经安装了 Xcode 和命令行工具。所以我的unistd.h应该在那里。我的代码也可以编译(通过 g++),所以一切都很好。只是 clang++ 丢失了。

我注意到它在我的 llvm 文件夹(我用自制软件安装)中进行 fetch iostream,这似乎不正确。他应该进入iostream我的系统,对吧?所以/usr/local/include/c++/iostream。这可能是问题吗?如果是这样,我怎么能告诉它正确iostream

如果这不是问题,我该如何解决我的unistd.h问题?

提前致谢 !

编辑:使用clang++ -stdlib=libc++ image.cpp命令,我得到这个:

所以,同样的问题。

编辑 2:我注意到which clang++会返回/usr/local/bin/clang++,所以我专门尝试使用 Xcode clang++,结果如下:

所以与 XCode 捆绑的 C++ 头文件也存在同样的问题。

0 投票
2 回答
61 浏览

c - C 的参数行选项解析

我以前看过这里提出的许多问题,我决定使用unistd.h来获取getopt

但是我需要某个选项取决于以前的选项,如

将在哪里-bb_opt/a_opt

因此,-a必须先解析-b

有没有办法实现这个?

谢谢

编辑:简单的方法是创建一个标志并在最后检查它,但是我试图看看是否有更优雅的解决方案。

0 投票
4 回答
4378 浏览

c - unistd 的 execl() 没有传递任何参数

在我的代码中,我需要执行/bin/bash,但我不想在不传递任何参数的情况下执行它。我写了这个:

然后,通过一些研究,我意识到我还需要添加类型转换:

但 GCC 仍然给我警告:

这样做的正确方法是什么,我误解了什么,还是我使用了完全错误的函数调用?

0 投票
1 回答
4666 浏览

c - 使用 write() 函数编写 Unicode

我正在做一个练习,我需要在终端上编写 Unicode,只使用write() in <unistd.h>

我不能使用:

  • 普查
  • 设置语言环境
  • printf (实际上练习是再现printf功能)

关于如何执行此操作的任何“低级”建议?

0 投票
0 回答
551 浏览

c - 为什么即使我不包括 sleep() 也能工作?

我可以sleepc不包含的情况下使用<unistd.h>,但gcc会报告:

警告:函数“睡眠”的隐式声明 [-Wimplicit-function-declaration]

但它仍然有效。例如,我可以调用sleep(8)并使用该time()函数计算时间,我可以看到 8 秒已过。

为什么会报告此警告?

0 投票
2 回答
86 浏览

c - 我在 read() 和 write() 上做错了什么?

我正在尝试做一些初学者内核模块/用户级程序通信。我之前得到了使用fdopen()效果很好的建议,但我发现我需要使用open(),read()write()不是。我阅读了这些手册页,并认为我将 fopen、fgets、fputs 正确转换为这些,并且我的程序可以编译,但我没有得到所需的输出。

我有一个计时器,如果我输入./userprogram -s (int) (name)eg ./userprogram -s 5 hello,5 秒后它将hello通过与我的内核模块通信打印到控制台。在我切换到这些新功能后,它改为打印/lib/ld-uClibc.so.0(现在似乎要等待约 5 秒)。我是否还需要更改内核级代码的工作方式?我以为我只是能够更改用户级程序,内核模块将继续像以前一样工作。这是我尝试使用注释掉的原始代码:

任何建议表示赞赏。

0 投票
1 回答
533 浏览

c++ - 为 Windows 实现自定义 unistd.h 以在 Visual Studio 上工作 - 问题

我继承了最初为 linux 编写的 dll 文件的源代码。不幸的是,我正在使用 Windows 和 Visual Studio,而对 linux 的更改是不可能的。特别是,其中一个类需要 unistd.h。

由于windows没有像unistd.h这样的东西,我试着按照 这里写得很好的内容来实现一个。

我创建了一个头文件 unistd.h 并将其添加到我的项目的头文件中(我还根据自定义了 getopts 。不幸的是,这并没有解决我的问题 - 我的代码不会构建,正如我不断得到

Cannot open include file: 'unistd.h': No such file or directory

我的自定义 unistd.h 是我的解决方案的头文件之一,所以我完全不明白出了什么问题。我已经使用

因为它是一个自定义标题。

任何建议和帮助将不胜感激。感谢您的关注。

0 投票
1 回答
7154 浏览

c++ - 使用 -std=c++11 作为编译器标志时在 linux 上获取 getpid

getpid当我使用-std=c++11标志时,我想使用标头 sys/types.h、unistd.h(C 风格)中的函数,但之后我有:

“函数 getpid 无法解析”。

是否有某种解决方法或等效功能?

@编辑:

我再检查一次,它不是标志错误

头文件

头文件

这很奇怪,因为我也在“干净”项目上进行了测试,完全没有问题。

主文件

看起来我无法从 unistd 获得任何功能,因为

也未解决

0 投票
2 回答
43 浏览

c - get_cwd() 从链接目录

我有一个程序来打印我从中获得的当前目录

如何在 C 程序中获取当前目录?

效果很好。

但是,如何为链接目录执行此操作?

例如,我需要

而不是链接目录

那是,

我正在尝试扩展我的 C 技能,也许我缺少一些东西?

0 投票
1 回答
828 浏览

c++ - 为什么 execlp() 不将输出打印到终端?

我正在尝试将子进程的输出链接到父进程的输入;父进程将使用子进程的输出执行系统调用或命令。

我已经查看了以下主题的答案;但是,我并没有完全得到我正在寻找的答案。

管道 - C++ 管道问题

Linux 管道作为输入和输出

我遇到的问题是父进程中的命令没有被打印到终端。

为什么不将输出打印到终端?我已经在父进程和子进程中关闭了管道的末端。此外,父母的 std_out 没有被修改。

这是我的代码。