verschiedene rand () - Ergebnisse, die auf Windows und Linux

Ich habe gemerkt, dass die standard-Funktion rand() liefert unterschiedliche Ergebnisse, die auf Windows und Linux. Natürlich habe ich die gleichen seed-Zahl (1234). Hier sind einige erste Ergebnisse:

GEWINNEN: 4068 213 12761 8758

LIN: 479142414 465566339 961126155 1057886067

Meine Anwendung erfordert, dass beide Plattformen produzieren identische Ausgabe.
Was sind meine Optionen? Gibt es irgendwelchen guten Ersatz für rand (), die erfüllt meine Anforderungen ?

Dank

PS. Ich benutzte Microsoft Visual C ++ 2008 unter Windows7, und gcc-4.1.2 auf CentOS 5.5

  • Warum müssen Sie Zufallszahlen identisch auf allen Plattformen? Das ist nicht sehr zufällig, nachdem alle - was wollen Sie erreichen?
  • Mögliches Szenario: eine App entwickelt, die unter linux und cygwin getestet und mit randomisierten test. Das Saatgut wird gedruckt, für jeden test. Wenn der test identifiziert eine Fehlerbedingung man den Fehler reproduzieren kann Fall mit Hilfe der Samen. Wenn man will, zu Debuggen, Fehler, Falle auf linux und cygwin, es wäre sehr schön, wenn rand zurückkehren würde, die gleiche zufällige Abfolge unter linux und cygwin.
InformationsquelleAutor michal | 2010-10-18
Schreibe einen Kommentar