Tôi đã nhận thấy rằng hàm rand() chuẩn này cung cấp các kết quả khác nhau trên Windows và Linux. Ofcourse Tôi đã sử dụng cùng một số hạt giống (1234). Dưới đây là một vài kết quả đầu tiên:các kết quả rand() khác nhau trên Windows và Linux
WIN: 4068 213 12761 8758
LIN: 479142414 465566339 961126155 1057886067
Ứng dụng của tôi đòi hỏi cả hai nền tảng tạo ra giống hệt nhau. Tùy chọn của tôi là gì? Có bất kỳ thay thế tốt nào cho rand() đáp ứng yêu cầu của tôi không?
cảm ơn
PS. Tôi đã sử dụng MSVC 2008 trên Windows7 và gcc 4.1.2 trên CentOS 5.5
Tại sao bạn cần số ngẫu nhiên để giống hệt nhau trên các nền tảng? Đó không phải là rất * ngẫu nhiên *, sau khi tất cả - những gì bạn đang cố gắng để đạt được? –
@EamonNerbonne Kịch bản có thể xảy ra: Ứng dụng được phát triển dưới Linux và Cygwin và được thử nghiệm với thử nghiệm ngẫu nhiên. Hạt giống được in cho mỗi thử nghiệm. Nếu thử nghiệm xác định một điều kiện lỗi, người ta có thể tạo lại trường hợp lỗi với sự trợ giúp của hạt giống.Nếu một trong những muốn gỡ lỗi các trường hợp lỗi trên Linux và Cygwin nó sẽ rất tốt đẹp nếu 'rand' sẽ trở lại cùng một chuỗi ngẫu nhiên dưới Linux và Cygwin. – Tobias