0
失敗,我試圖用dlfcn.h
(d調用rand
。的dlsym()使用情況蘭特
我有this code,根據項目我的工作。最核心的問題,我是用這個時這樣,它編譯,甚至運行,但它的輸出是
cif: cif is OK
rand val: 16807
和rand val
值是16807每一次,相反的是rand
是應該做的。我在做什麼錯在這裏?
失敗,我試圖用dlfcn.h
(d調用rand
。的dlsym()使用情況蘭特
我有this code,根據項目我的工作。最核心的問題,我是用這個時這樣,它編譯,甚至運行,但它的輸出是
cif: cif is OK
rand val: 16807
和rand val
值是16807每一次,相反的是rand
是應該做的。我在做什麼錯在這裏?
你上請撥打rand()
一次。如果未加種子,rand()
可能會使用靜態種子,可能爲零(庫依賴)。
進口srand
過,並用合理的隨機數量的種子它 - 例如,你可以做
timeval tv;
gettimeofday(&tv, NULL);
srand_ptr(tv.tv_sec^tv.tv_usec);
與當前時間(秒和毫秒)種子吧。
或者,在OS X上,考慮使用arc4random
代替,該代碼會自動播種,並且通常會生成更好的隨機數。
謝謝,這有幫助。 – jjpe
你有沒有用srand()設置種子? –