C言語でUUIDを生成する方法
提供: C言語入門
2018年3月17日 (土) 14:36時点におけるDaemon (トーク | 投稿記録)による版 (ページの作成:「UUID(Universally Unique Identifier) とは、ソフトウェア上でオブジェクトを一意に識別するための識別子です。分散システムで統制な...」)
スポンサーリンク
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
関連項目
ツイート
スポンサーリンク