Dav*_*sid 5 c c++ random software-design
srand()/rand()第三方库中有大量使用预定义种子的呼叫.在同一过程中组合不同的库时会出现问题.有时很难确保正确的呼叫顺序,混合srand()和rand()呼叫是可能的.另一个问题是无法在应用程序级别选择播种值.作为一般规则,我们是否应该避免srand()在库中使用(包括开源),将播种任务留给应用程序?
如果库使用硬编码种子,那么是的,您应该有办法将这些种子更改为您声明为“足够随机”的种子。
另外,如果您使用的平台有 /dev/urand 之类的东西,您可能可以使用它,或者如果您必须是多平台的,为什么不使用 OpenSSL 的随机数库之类的东西呢?OpenSSL 可能应该在您目标的每个平台上都可用,并且通常已经安装了它,因此您只需链接它即可。
| 归档时间: |
|
| 查看次数: |
401 次 |
| 最近记录: |