arc4random_uniform()的操作系统要求

7

如何查找使用 arc4random_uniform() 的最低操作系统要求?它是否定义在BSD中?如果是,从哪个版本开始?它是否适用于任何Mac OS X版本?iOS版本呢?有没有任何官方的地方可以找到这些信息呢?


通过在适当的平台上阅读适当的C库...我不知道是否有“比较兼容矩阵”。有时文档会说“自从”或“符合”。 - user166390
至少是目前感兴趣的平台,是的。 - user166390
@pst,不幸的是,我没有访问所有可能的iOS版本和所有可能的BSD版本以及所有可能的MacOS X版本进行测试...如果这是唯一的方法,那么我想我只能避免使用该函数了... - rid
1
自从1997年起,它就已经存在于BSD中(类似的非OSX来源也同意)...但是这里说仅在iOS 4.3之后 - user166390
@pst,确实如此……这就是我在问的原因。arc4random()似乎是由BSD定义的,但arc4random_uniform()似乎是最近添加的,甚至没有单独的man页。 - rid
显示剩余4条评论
1个回答

6

如果您查看定义位置stdlib.h,会发现它的内容如下:

u_int32_t arc4random_uniform(u_int32_t /*upper_bound*/) __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_3);

因此,从Lion开始桌面版可用,在iPhone上需要iOS 4.3版本。


1
哦,非常聪明。对着文档摇拳头。我在这里加一分。 - user166390
@qegal 我错了 :( ARC4自1997年以来就是BSB的一部分。arc4random_uniform最近才被"公开"。我错误地假设手册日期是在上次更改时更新的。所以,虽然它[可能] 已经存在,但最近才被公开 - user166390
我曾在多平台环境中使用它,但现在遇到了一个问题,它在Android上根本无法工作/存在。没有办法吗? - Jonny
@Jonny 唯一要做的就是使用不同的函数 :| - pasawaya

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接