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

c++ - 是否有适用于 Windows (Visual C) 的 unistd.h 的替代品?

我正在将一个为 Unix 编写的相对简单的控制台程序移植到 Windows 平台(Visual C++ 8.0)。所有源文件都包含“unistd.h”,它不存在。删除它后,我收到有关“srandom”、“random”和“getopt”原型缺失的投诉。我知道我可以替换随机函数,而且我很确定我可以找到/破解一个 getopt 实现。

但我相信其他人也遇到了同样的挑战。我的问题是:Windows 是否有“unistd.h”端口?至少一个包含那些确实具有本机 Windows 实现的功能——我不需要管道或分叉。

编辑

我知道我可以创建自己的“unistd.h”,其中包含我需要的东西的替代品 - 特别是在这种情况下,因为它是一个有限的集合。但由于这似乎是一个常见问题,我想知道是否有人已经为更大的功能子集完成了这项工作。

在工作中无法切换到不同的编译器或环境——我被 Visual Studio 困住了。

0 投票
3 回答
1626 浏览

c++ - unistd.h read() 正在读取更多数据然后被写入

我正在从命名管道读取/写入数据。在写入方面,它说它正在写入一个恒定的 110 字节。在阅读方面,大部分时间它说它正在读取 110 个字节,这是正确的,但其他时候它说它正在读取 220 个字节或 330 个字节。事实上,当我打印它时,它会在同一个 read() 中连续打印两到三遍相同的消息。在下面的阅读代码中,我是否对 memset 做错了什么来清除字符?我想不出任何其他方式,它读取的内容比写入的内容多,除非缓冲区中剩下一些东西。

0 投票
2 回答
553 浏览

c++ - 标准 POSIX 读取被具有不同签名的读取方法遮蔽

我有一个带有读取功能的 C++ 文件类,它应该将文件的全部内容(就像 Python 一样)读入缓冲区。但是,当我尝试从 unistd.h 调用读取函数时,我得到:

file.cpp:21: 错误: 没有匹配函数调用'File::read(int&, char*&, int)'</p>

file.cpp:17:注意:候选人是:char* File::read()

我究竟做错了什么?这些有完全不同的签名,为什么我不能简单地调用它?

0 投票
2 回答
261 浏览

linux-kernel - linux-2.6.31添加系统调用需要修改的文件在哪里

当我搜索添加系统调用时,我得到了很多文章,但它们似乎是针对旧版本的,这似乎也是一个微不足道的过程。

但问题是,文章建议的目录不适用于 2.6.31 版本。有谁知道unistd.hsyscall_table.Ssyscalls.h/或他们相应的文件在哪里?

提前致谢。

0 投票
2 回答
1347 浏览

c++ - 文件描述符上的原子附加,但偏移量是多少?

在 unistd.h

使用带有 O_APPEND 标志的 open() 可以始终将原子写入文件末尾...

这很好,但是如果我需要知道它以原子方式附加到文件的偏移量怎么办......?

我意识到 O_APPEND 通常用于日志文件,但我实际上想知道它原子附加的文件中的偏移量。

我没有看到任何明显的方法来做到这一点..?有人知道吗?

谢谢

0 投票
3 回答
1127 浏览

c - #define __REDIRECT_NTH 在 unistd.h 中做了什么?

GNU unistd.h 有这样的魔力:

__REDIRECT_NTH 是什么意思?

0 投票
3 回答
958 浏览

c - write() 和 TCP/IP 开销

如果我使用 write() 逐字节写入套接字文件描述符,

  • 现在每个字节都是一个数据包吗?
  • 套接字会将 TCP/IP 标头添加到每个字节吗?
  • 或者它是否有缓冲机制(我个人对此表示怀疑,因为我没有明确刷新)。

例如:

这会比说效率低吗

  • 我必须在这里问这个问题,因为我没有监控流量中的 TCP/IP 标头的专业知识。谢谢。
0 投票
2 回答
524 浏览

c++ - 使用 unistd.h 中的 read() 缺少字符

我们在 Linux 环境中使用read()from 方法从unistd.h串口接收数据。专门从中读取数据/dev/ttys1

我们收到的部分数据包括字符0x0A(换行)和0x0B(垂直制表符),但库似乎忽略了它们。

我的意思是,我们使用 anunsigned char[]来存储从端口获取的数据,并且该数组包含除了那些字符之外的所有数据。

你认为这可能是什么错误?

0 投票
2 回答
8697 浏览

c - write 函数在 Unix 上需要 unistd.h,那么 windows 呢?

我已经从 linux 计算机更改为 windows 并且我在编译我的代码时遇到了问题,因为这两个操作系统不共享相同的头文件。

由于 unistd.h 显然没有包含在内,Visual C 不知道read()write()close()和函数是什么。谁能帮我这个?socklen_t()bzero()

我用谷歌搜索了这个:Windows (Visual C) 的 unistd.h 有替代品吗?

我不知道 unistd.h 是如何工作的,也不知道如何编写自己的代码。有人可以将我链接到一个吗?

0 投票
3 回答
3439 浏览

c - 在c中重定向标准输出然后重置标准输出

我正在尝试使用 C 中的重定向将输入重定向到一个文件,然后将标准输出设置回打印到屏幕上。有人可以告诉我这段代码有什么问题吗?