Erzeugung von Zufallszahlen UUIDs in Linux
Ich bin stecken in einer seltsamen Zwickmühle. Ich brauche, um UUIDs in meinem Linux-Programm (das verteile ich mit RPM-Paketen). Ich will nicht zum hinzufügen einer weiteren Abhängigkeit zu meiner Anwendung, durch die die Nutzer zu installieren libuuid (scheint wie libuuid nicht enthalten ist in den meisten Linux-Distributionen, wie CentOS).
Gibt es nicht eine standard-Linux-Systemaufruf erzeugt UUIDs (wie gesagt in Windows gibt es CoCreateGuid)? Was bedeutet der Befehl uuidgen verwenden?
- uuidgen verwendet libuuid.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bin ich etwas fehlt? Kannst du nicht:
Dank für alle Eure Kommentare!
Ich ging durch jeden, und hier ist was für meine Anforderung die beste:
Was ich brauchte, war einfach nur zeitbasierte UUIDs, die generiert wurden, von Zufallszahlen einmal für jeden Benutzer, der die Anwendung installiert hat. UUID, version 4, definiert in RFC 4122 war es genau. Ich ging durch einen Algorithmus vorgeschlagen, und kam auf eine ziemlich einfache Lösung, die funktionieren würde unter Linux als auch Windows (Vielleicht zu simpel, aber es hat genügen müssen!):
Einem guten Weg, die ich gefunden (für linux-dev) ist
#include <uuid/uuid.h>
. Dann haben Sie ein paar Funktionen, die Sie aufrufen können:Gibt es einen Grund, warum Sie nicht einfach ein link statisch libuuid?
Vielleicht ooid helfen? http://ooid.sourceforge.net/
Kein system call existiert in POSIX zu generieren UUID, aber ich denke, Sie finden irgendwo einen BSD/MIT code zur Generierung der UUID. ooid ist veröffentlicht unter der Boost software license, die laut wikipedia ist eine permissive Lizenz im Stil von BSD/MIT. Dann können Sie einfach fügen Sie es in Ihre Anwendung, ohne die Notwendigkeit zum hinzufügen von Abhängigkeiten.