Всем привет. Есть такой код:
| Код | # define DEV_RANDOM_STR "/dev/urandom" static int dev_random = -1;
static void random_fini(void) { if ( dev_random >= 0 ) { close(dev_random); } }
static int random_init(void) { if ( (dev_random = open(DEV_RANDOM_STR, O_RDONLY)) < 0 ) { D_ERR("Cannot open '" DEV_RANDOM_STR ": %s", strerror(errno)); return -1; }
atexit(random_fini);
return 0; }
int random_get_data(void* b, int s) { if ( dev_random < 0 ) { random_init(); }
if ( read(dev_random, b, s) < s ) { D_ERR("Cannot read %d random bytes.", s); return -1; }
return 0; }
|
который является частью программы. Появилась необходимость портирования программы на виндавз ОС. Интересует следующее - в чем принципиальная разница между /dev/urandom и rand() (к примеру). Помимо того что первый можно читать как файл? |