「C言語でUUIDを生成する方法」の版間の差分
提供: C言語入門
(ページの作成:「UUID(Universally Unique Identifier) とは、ソフトウェア上でオブジェクトを一意に識別するための識別子です。分散システムで統制な...」) |
(相違点なし)
|
2018年3月17日 (土) 14:36時点における版
UUID(Universally Unique Identifier) とは、ソフトウェア上でオブジェクトを一意に識別するための識別子です。分散システムで統制なしに作成できる識別子として設計されていて、将来的にも衝突が起きない前提で利用できます。
読み方
- uuid
- ゆーゆーあいでぃー
概要
UUIDは、利用者にユニークなIDを振ったり、分散ストレージでオブジェクトの識別用にIDを振ったりするときに、使えるID(識別子)です。
インストール
Ubuntuの場合
sudo apt install uuid-dev
uuid1.c の例
ソースコード uuid1.c
/* * uuid1.c * Copyright (C) 2018 kaoru <kaoru@localhost> * * Distributed under terms of the MIT license. */ #include <uuid/uuid.h> #include <stdio.h> #include <stdlib.h> const int uuid_len = 36+1; // 36byte string + null int main(int argc, char *argv[]) { uuid_t u1; char out[uuid_len]; uuid_generate(u1); uuid_unparse(u1, out); (void)printf("%s\n", out); exit(EXIT_SUCCESS); }
コンパイル
Windows10のWSL(Windows Subsystem for Linux) のUbuntu の環境で -L で libuuid.so のあるパスを指定したが、コンパイルできなかったので、直接 .so を指定することになりました。
cc -luuid uuid1.c /usr/lib/x86_64-linux-gnu/libuuid.so -o uuid1
実行例
% ./uuid1 d8981b3a-ec33-4bda-8eba-09aa172bb2a9