Ich habe festgestellt, dass die Standard-Funktion rand() unter Windows und Linux unterschiedliche Ergebnisse gibt. Natürlich habe ich die gleiche Startnummer (1234) verwendet. Hier sind einige erste Ergebnisse:verschiedene Rand() Ergebnisse unter Windows und Linux
WIN: 4068 213 12761 8758
LIN: 479142414 465566339 961126155 1057886067
Meine Anwendung erfordert, dass beide Plattformen identisch Ausgabe. Was sind meine Optionen? Gibt es einen guten Ersatz für rand(), der meine Anforderung erfüllt?
dank
PS. Ich habe MSVC 2008 auf Windows7 und gcc 4.1.2 auf CentOS 5.5
Warum brauchen Sie Zufallszahlen, um plattformübergreifend identisch zu sein? Das ist nicht sehr * zufällig *, was willst du erreichen? –
@EamonNerbonne Mögliches Szenario: App entwickelt unter Linux und Cygwin und getestet mit randomisierten Test. Der Seed wird für jeden Test gedruckt. Wenn der Test eine Fehlerbedingung identifiziert, kann der Fehlerfall mit Hilfe des Seeds reproduziert werden.Wenn man den Fehlerfall auf Linux und Cygwin debuggen möchte, wäre es sehr schön, wenn 'rand' die gleiche zufällige Sequenz unter Linux und Cygwin zurückgeben würde. – Tobias