问题标签 [posix]
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++ - 在 POSIX 上产生随机双精度的最佳方法是什么?
我想在 [0.0, 1.0) 范围内得到均匀分布
如果可能,请让实现使用来自/dev/urandom 的随机字节。
如果您的解决方案是线程安全的,那也很好。如果您不确定,请指出。
查看我在阅读其他答案后想到的一些解决方案。
linux - 是否可以在套接字上不监听?
调用listen(fd,backlog)后是否可以在套接字上取消监听?
编辑:我没有让自己清楚的错误。我希望能够暂时不听套接字。调用 close() 将使套接字处于 M2LS 状态并阻止我重新打开它(或者更糟糕的是,某些恶意程序可能会绑定到该套接字)
暂时不监听是向上游负载均衡器发出信号表明此应用暂时无法接受更多请求的一种方式(可能不是最好的方式)
windows - Windows 上是否可以进行原子文件重命名(带覆盖)?
在 POSIX 系统上 rename(2) 提供原子重命名操作,包括在目标文件存在且权限允许的情况下覆盖目标文件。
有没有办法在 Windows 上获得相同的语义?我知道 Vista 和 Server 2008 上的 MoveFileTransacted(),但我需要它来支持 Win2k 及更高版本。
这里的关键词是原子的……解决方案不能以任何方式失败,从而使操作处于不一致的状态。
我看到很多人说这在win32上是不可能的,但我问你,真的吗?
如果可能,请提供可靠的引用。
shell - 如何比较 Bourne Shell 中的字符串?
我需要比较shell中的字符串:
但显然“*”在 Shell 中不起作用。有没有办法做到这一点?
windows - 为什么 GCC-Windows 依赖于 cygwin?
我不是 C++ 开发人员,但我一直对编译器很感兴趣,而且我对修补一些 GCC 的东西(尤其是 LLVM)很感兴趣。
在 Windows 上,GCC 需要 POSIX 仿真层(cygwin 或 MinGW)才能正确运行。
这是为什么?
我使用许多其他软件,用 C++ 编写并针对不同平台(Subversion、Firefox、Apache、MySQL)进行交叉编译,它们都不需要 cygwin 或 MinGW。
我对 C++ 最佳实践编程的理解是,您可以编写合理的平台中立代码并处理编译过程中的所有差异。
那么与 GCC 有什么关系呢?为什么它不能在 Windows 上本地运行?
编辑:
好的,到目前为止,这两个回复基本上说,“GCC 使用 posix 层,因为它使用 posix 标头”。
但这并不能真正回答问题。
假设我已经为我最喜欢的标准库准备了一组头文件。为什么我仍然需要 posix 标头?
GCC 是否需要 cygwin/mingw 才能实际运行?
还是只需要头文件和库的仿真层?如果是这样,为什么我不能只给它一个包含所需资源的“lib”目录?
再次编辑:
好的,我会再次尝试澄清问题...
我还用D 编程语言编写代码。官方编译器名为“dmd”,并且有适用于 Windows 和 linux 的官方编译器二进制文件。
Windows 版本不需要任何类型的 POSIX 仿真。Linux 版本不需要任何类型的 Win32 仿真。如果编译器对其环境有假设,它会很好地隐藏这些假设。
当然,我必须告诉编译器在哪里可以找到标准库以及在哪里可以找到静态或动态链接的库。
相比之下,GCC 坚持假装它在 posix 环境中运行,它要求我通过设置一个仿真层来满足这些假设。
但是,在 GCC 中,究竟是什么依赖于该层?它只是在寻找 stdlib 标头,并假设它会在“/usr/lib”中找到这些标头吗?
如果是这样的话,我不应该告诉它在“C:/gcc/lib”中查找那些头文件吗?
或者 GCC 本身是否依赖 POSIX 库来访问文件系统(以及做其他低级的事情)?如果是这样的话,那么我想知道为什么他们不只是静态链接到他们最喜欢的 windows POSIX 库。当用户可以将这些依赖项直接构建到应用程序中时,为什么还要要求用户设置依赖项?
c++ - OSX 缺少 memalign
我正在用 C 语言开发一个项目,它需要 memalign()。确实,posix_memalign() 也可以,但是 darwin/OSX 缺少这两个。
有什么好的解决方案可以解决 memalign 的问题?如果我要撕掉 memalign.c 并将其放入我的项目中,我不了解 posix-C 代码的许可——我不想要任何病毒类型的许可 LGPL-ing 我的整个项目。
c++ - vswprintf 崩溃
使用 10 月 2 日发布的 Symbian S60 第 5 版 SDK,我正在编译/运行(在 sim 上)以下代码片段:
对我来说没有任何明显的原因(即使在阅读了vswprintf手册页一百次之后)我能否弄清楚为什么在 vswprintf 调用长字符串时这段代码会在我身上崩溃:-( 完全相同的代码在 Linux 机器上运行良好. 为 str 分配了足够的内存,加上 vswprintf 无论如何都在检查缓冲区溢出。不幸的是 ... S60 调试器在这次崩溃时没有中断,所以我没有详细信息:-(
有人有什么想法吗?
假设 Symbian 的 vswprintf 例程中存在错误,那么使用 POSIX 兼容代码可能的替代函数是什么?(这应该是一个跨平台的库)
谢谢。
c - sigaction 和 signal 有什么区别?
我正准备向我们这里的应用程序添加一个额外的信号处理程序,我注意到作者曾经sigaction()
设置过其他信号处理程序。我打算用signal()
. 为了遵循约定,我应该使用sigaction()
,但如果我从头开始编写,我应该选择哪个?
python - 将日期时间转换为 POSIX 时间
如何在 python 中将日期时间或日期对象转换为 POSIX 时间戳?有一些方法可以根据时间戳创建日期时间对象,但我似乎没有找到任何明显的方法来以相反的方式进行操作。
c - 什么时候应该使用 mmap 进行文件访问?
POSIX 环境至少提供两种访问文件的方式。有标准的系统调用open()
, read()
, write()
, 和朋友,但也有mmap()
用于将文件映射到虚拟内存的选项。
什么时候最好使用其中一种?包括两个接口的优点是什么?