Isu Kebolehulangan dengan std::random_device dan MinGW
Dalam C ,
Analisis
Tingkah laku yang tidak konsisten menimbulkan persoalan tentang determinisme daripada
"Perhatikan bahawa std::random_device boleh dilaksanakan dari segi enjin nombor rawak pseudo jika sumber bukan penentu (mis., peranti perkakasan ) tidak tersedia untuk pelaksanaan."
Ini menunjukkan bahawa apabila sumber rawak benar tidak tersedia, perpustakaan akan kembali pada penjana pseudo-rawak. Walau bagaimanapun, dalam kes MinGW 4.8.1, nampaknya walaupun dengan pseudo-rawak, output kekal boleh diramal secara konsisten.
Rasional yang Disyaki
Satu teori menyatakan bahawa tingkah laku ini mungkin disengajakan. Dengan menyampaikan urutan bukan rawak, perpustakaan menyerlahkan potensi kelemahan dalam rawak pelaksanaan asas. Ini akan menjadi amaran kepada pembangun bahawa nombor rawak yang dijana mungkin tidak benar-benar tidak dapat diramalkan.
Penyelesaian
Untuk menjana jujukan rawak yang tulen dengan MinGW 4.8.1, pengguna boleh mempertimbangkan untuk menggunakan pelaksanaan alternatif bagi penjana nombor rawak yang disediakan dalam
Atas ialah kandungan terperinci Mengapakah std::random_device Menghasilkan Jujukan Yang Sama dengan MinGW 4.8.1?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!