dadashuai 发表于 2021-8-25 10:49

【C语言】获取设备唯一标识

windows guid
```
#include <stdio.h>
#include <windows.h>
#define GUID_LEN 64
   
int main(int argc, char* argv[])
{
    printf("test\n");
    char buffer = { 0 };
    GUID guid;
    printf("guid\n");
    if (CoCreateGuid(&guid))
    {
      printf("create guid error\n");
      fprintf(stderr, "create guid error\n");
      return -1;
    }
    _snprintf(buffer, sizeof(buffer),
      "%08X-%04X-%04x-%02X%02X-%02X%02X%02X%02X%02X%02X",
      guid.Data1, guid.Data2, guid.Data3,
      guid.Data4, guid.Data4, guid.Data4,
      guid.Data4, guid.Data4, guid.Data4,
      guid.Data4, guid.Data4);
    printf("guid: %s\n", buffer);
    return 0;
}
```
编译方法
```
gcc main.c -o main.exe -lmingw32 -lole32
```

linux
```
#include <uuid/uuid.h>

int main()
{
    uuid_t uu;
    int i;
    uuid_generate( uu );

    for(i=0;i<16;i++)
    {
      printf("%02X-",uu);
    }
    printf("\n");
    return 0;
}
```

bingsky 发表于 2021-8-25 13:13

感谢分享,这是创建还是获取?

kenxy 发表于 2021-8-25 13:32

感觉应该是创建

Alpha柒葵 发表于 2021-8-25 14:39

每次运行不一样,应该是创建一个GUID

p紫气东来 发表于 2021-8-25 14:43

g来看看下了,学习下了

ATM111 发表于 2021-8-25 14:48

可以,刚好要用到

Eaglecad 发表于 2021-8-25 17:13

这是创建,我记得有个开源的crossguid项目,封装了一层,c++17的,和这个是同理的

无相孤君 发表于 2021-8-27 07:48

怎么获取运行内存
页: [1]
查看完整版本: 【C语言】获取设备唯一标识