Есть такая фигня:
В стороннем коде (либа) используется фунция random().
В моем приложении, использующем этот код встречаются повторения
чисел, генерируемых random() на последовательности в 40 вызовов ( в разных опытах от 2 до 4 повторений, но стабильно есть).
Я написал простенькое приложение, вызывающее такой же самый код ( но
копию! ) в двух потоках
( первое приложение тоже многопоточное ) - никаких проблем: каждый поток вызывает ее 10000 раз и повторений нет!
1) Как мне убедиться, что вызывемая в обоих приложениях функция одна и та же?
BTW, я смотрел с помощью readelf <exe>| grep random оба файла и получил
такой результат:
для первого:
264: 8056cb0 91 FUNC GLOBAL 0 UND random@GLIBC_2.0 (3)
714: 8057f50 84 FUNC GLOBAL 0 UND srandom@GLIBC_2.0 (3)
для второго:
85: 804b2a0 91 FUNC GLOBAL 0 UND random@GLIBC_2.0 (2)
216: 804b810 84 FUNC GLOBAL 0 UND srandom@GLIBC_2.0 (2)
Настораживает только "(2)" и "(3)" - что это я не знаю.
2) Есть какие-нибудь идеи как найти причину?
Система Linux RH6.2, ядро 2.2.21, gcc 2.95.3, glibc 2.1.3
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум Random (2013)
- Форум randomize (2004)
- Форум random (2004)
- Форум deadbeef random (2016)
- Форум /dev/random (2012)
- Форум Random chat (2013)
- Форум Random News (2011)
- Форум исполнение random (2018)
- Форум Bash random (2018)
- Форум Haskell, random (2021)