Apakah saya melewatkan sesuatu? Tidak bisakah kamu:
cat /proc/sys/kernel/random/uuid
Terima kasih atas semua komentar Anda!
Saya membahas masing-masing, dan inilah yang paling sesuai dengan kebutuhan saya:
Yang saya butuhkan hanyalah UUID berbasis waktu yang dihasilkan dari nomor acak satu kali untuk setiap pengguna yang menginstal aplikasi. UUID versi 4 sebagaimana ditentukan dalam RFC 4122 persis seperti itu. Saya mempelajari algoritme yang disarankan, dan menghasilkan solusi yang cukup sederhana yang akan berfungsi di Linux dan juga Windows (Mungkin terlalu sederhana, tetapi memenuhi kebutuhan!):
srand(time(NULL));
sprintf(strUuid, "%x%x-%x-%x-%x-%x%x%x",
rand(), rand(), // Generates a 64-bit Hex number
rand(), // Generates a 32-bit Hex number
((rand() & 0x0fff) | 0x4000), // Generates a 32-bit Hex number of the form 4xxx (4 indicates the UUID version)
rand() % 0x3fff + 0x8000, // Generates a 32-bit Hex number in the range [0x8000, 0xbfff]
rand(), rand(), rand()); // Generates a 96-bit Hex number