2012-06-03 149 views
7

如何找出使用arc4random_uniform()的最低操作系統要求?它是否在BSD中定義?如果是這樣,從什麼版本?它可以在任何Mac OS X版本上運行嗎? iOS版本如何?有什麼官方的地方可以找到這些東西嗎?arc4random_uniform()的操作系統要求

+0

通過閱讀適當的平臺上的C庫..我不知道「比較兼容矩陣」,但。有時文檔會說「自」或「符合」。 – 2012-06-03 20:52:08

+0

@pst,你的意思是我應該檢查所有可能的平臺,包括所有可能的版本,看看我能找到它的手冊頁嗎? – rid

+0

至少是立即感興趣的平臺,是的。 – 2012-06-03 20:53:44

回答

6

如果你看看stdlib.h定義它,它說:

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

因此,它是從獅子的臺式機和iPhone上的iOS 4.3。

+1

哦,非常聰明。*在文檔*握手拳頭。+1在這裏。 – 2012-06-03 21:01:15

+0

@qegal我錯了:(ARC4自1997年以來一直是BSB的一部分。[arc4random_uniform最近才被「暴露」](http://lists.freedesktop.org/archives/libbsd/2011-June/000038.html)。我做了一個錯誤的假設,即手動日期在last-change上進行了更新,所以,雖然[很可能] *在那裏,但最近它已被曝光。 – 2012-06-03 21:04:07

+0

我在多平臺環境中使用它,現在遇到了一個問題,它只是沒有工作/存在的Android沒有什麼可做的? – Jonny