windows - boost::random_device 的非 Linux 实现

标签 windows boost portability non-deterministic random

目前,Boost 只为 Linux(也许是 *nix)系统实现了 random_device 类。有谁知道其他操作系统的现有实现吗?理想情况下,这些实现将是开源的。

如果不存在,我应该如何为 Windows 和 Mac OS X 实现非确定性 RNG?提供此功能的任一环境中是否存在 API 调用?谢谢(很抱歉提出所有问题)!

最佳答案

在 MacOSX 上,您可以使用/dev/random(因为它是 *​​nix)。

在 Windows 上,您可能需要 CryptGenRandom 函数。我不知道是否有使用它的 boost::random_device 的实现。

关于windows - boost::random_device 的非 Linux 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/418358/

相关文章:

c++ - 为什么 GetFileAttributesW(L"C :") return FILE_ATTRIBUTE_REPARSE_POINT?

c++ - 不能在 boost/unordered_map 中使用 vector

c++ - C++ 中的定宽整数

sql - 如何在可移植 SQL 中包含特定于 PostgreSQL 的代码?

java -\n 和\r 似乎无处不在。为什么 line.separator 更便携?

c++ - "error: expected primary-expression before ' volatile '"

c++ - 如何确定计算机上安装的物理 RAM? ( Windows )

windows - npm 的漫游应用程序数据,路径太长

c++ - 为什么 boost::program_options 接受切词?

c++ - 为什么Boost-Beast 给我部分消息异常