GUIDstring erzeugen

In dieser Linux-Ecke dürfen nur Themen rund um Linux geschrieben werden.
Beiträge, die plattformübergreifend sind, gehören ins 'Allgemein'-Forum.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

GUIDstring erzeugen

Beitrag von ts-soft »

Ich bräuchte eine Möglichkeit unter Linux einen einmaligen GUIDstring zu
erzeugen, gibts da eine API?
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
freak
PureBasic Team
Beiträge: 766
Registriert: 29.08.2004 00:20
Wohnort: Stuttgart

Beitrag von freak »

Muss die GUID zu irgendwas kompatibel sein (z.B. Microsoft COM) ? Dann musst du nach einer lib suchen die deren genauen Algorithmus implementiert.

Wenn nicht dann würde ich libuuid empfehlen. Das Packet das diese lib beinhaltet heist "e2fsprogs" und sollte auf den meisten Systemen vorhanden sein weil das Utilities für das ext2 Dateisystem sind.

Code: Alles auswählen

Structure uuid_t
  char.b[16]
EndStructure

;/* UUID Variant definitions */
#UUID_VARIANT_NCS 	    = 0
#UUID_VARIANT_DCE 	    = 1
#UUID_VARIANT_MICROSOFT	= 2
#UUID_VARIANT_OTHER 	  = 3

;/* UUID Type definitions */
#UUID_TYPE_DCE_TIME   = 1
#UUID_TYPE_DCE_RANDOM = 4

ImportC "-luuid"
  uuid_clear(*uu.uuid_t)
  uuid_compare.l(*uu1.uuid_t, *uu2.uuid_t)
  uuid_copy(*dst.uuid_t, *src.uuid_t)
  uuid_generate(*out.uuid_t)
  uuid_generate_random(*out.uuid_t)
  uuid_generate_time(*out.uuid_t)
  uuid_is_null.l(*uu.uuid_t)
  uuid_parse(*in, *uu.uuid_t)
  uuid_unparse(*uu.uuid_t, *out)
  uuid_unparse_lower(*uu.uuid_t, *out)
  uuid_unparse_upper(*uu.uuid_t, *out)
  uuid_time(*uu.uuid_t, *ret_tv)
  uuid_type.l(*uu.uuid_t)
  uuid_variant.l(*uu.uuid_t)
EndImport

; ---------------------------------------------

UUID$ = Space(36)
uuid_generate(@uuid.uuid_t)
uuid_unparse_upper(@uuid, @UUID$)
Debug UUID$
manpage: (unter "See Also" sind die einzelnen Befehle zu finden)
http://linux.die.net/man/3/libuuid
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

:allright:
genau das hab ich gesucht :D
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

leider findet er die lib nicht :(
PureBasic - Linker error hat geschrieben:/usr/bin/ld: cannot find -luuid
collect2: ld gab 1 als Ende-Status zurÄŒck
(Ubuntu 8.10 x86)
e2fsprogs ist installiert
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
freak
PureBasic Team
Beiträge: 766
Registriert: 29.08.2004 00:20
Wohnort: Stuttgart

Beitrag von freak »

Hmm, scheint so als wäre die lib doch nicht in dem Packet wie die Manpage behauptet.

Für Ubuntu ist die lib im Packet "uuid-dev".
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

:allright: funktioniert so wie ich es erhofft habe!
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten