| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Системное программирование и WinAPI > rand В Windows |
| Автор: devmstr 28.3.2005, 23:00 |
| Какая есть замена для rand в Windows, так как stdlib в виндомов приложении, как - то не хочется! |
| Автор: Nastya 29.3.2005, 08:00 | ||
|
| Автор: chipset 29.3.2005, 08:17 |
| magician, а в чём проблема написать свою, вычисляющую рандом перемножением серийного номера коврика от мыши и текущего времени в Нью Йорке? |
| Автор: srd 29.3.2005, 09:46 |
| Даже виндовое приложение линкуется с CRT, и отвязаться от неё без извращений нельзя. Потому можешь совершенно спокойно использовать <cstdlib> |
| Автор: devmstr 30.3.2005, 07:16 |
| srd Спасибо! Ща юзаю #define RAND_MAX 0x7fff #define rand() ((int)((0xDEADBEEF*GetTickCount()+0xBABA)%RAND_MAX)) Нескожу что лучше стандавтного, но работает! |
| Автор: oleg1973 30.3.2005, 16:49 | ||
не правда а рандом можно из GetTickCount сотворить |
| Автор: maxim1000 30.3.2005, 16:57 | ||||
нечего тут спорить: у вас просто разные понимания слова "извращение" просто GetTickCount не всегда хорошо - кто его знает, с какой периодичностью будут вызывать эту функцию? может так нехорошо получиться, что значения совсем не будут похожи на случайные обычно делают так: 1. используют GetTickCount один раз при старте программы для инициализации генератора случайных чисел 2. при каждом вызове применяют к глобальной переменной преобразование (именно ним генераторы и отличаются) и выдают либо эту переменную, либо какую-то функцию от нее здесь на форуме есть несколько тем, где было обсуждение различных генераторов случайных чисел... |
| Автор: Void 30.3.2005, 18:34 | ||||
Есть еще вариант - использовать CryptoAPI. Может быть, из пушки по воробьям, зато уж точно никакой закономерности:
В случае ошибки вернет просто неслучайный мусор из стека, но это маловероятно. |
| Автор: devmstr 30.3.2005, 23:22 | ||
Глючная она. Намучался я с ней в свое время!! |
| Автор: Void 31.3.2005, 18:00 | ||
А в чем конкретно глючность заключается, можно узнать? |