• c语言获取当前程序运行的cpuid


    #include <stdio.h>
    #include <stdlib.h>
    #include <unistd.h>
    #include <string.h>
    #include <syscall.h>
    
    #define ULONG unsigned long
    #define CHAR char
    #define VOID void
    #define gettid()  syscall(SYS_gettid)
    
    
    ULONG drvgetprocessorid(VOID)
    {
        ULONG ultaskcpu=0;
        ULONG uloopi = 0;
        char szFilename[50];
        char cflag=0;    
        CHAR szBuf[512];
        FILE *pstFp=NULL;
    
        memset(szfilename,0,(ULONG)50);
        snprintf(szfilename,sizeof(szfilename),"/proc/%d/task/%d/stat",getpid(),gettid());
        pstfp=fopen(szfilename,"r");
        if(null==pstfp)
        {
            return 30;
        }
        while(0 ==feof(pstfp))
        {
            if(uloopi == 38)
            {
                fgets(szbuf,sizeof(szbuf),pstfp);
                sscanf(szbuf,"%lu",&ultaskcpu);
                break;
            }    
            cflag=fgetc(pstfp);
            if(‘ ’ == cflag)
            {
                uloopi++;
            }
    
        }
    
        fclose(pstfp);
        return ultaskcpu;
        
    }
  • 相关阅读:
    编程学习杂烩
    设计模式
    redis
    H5
    Java
    db工具
    python + pip
    mysql
    Spring Security
    Spring Cloud Gateway
  • 原文地址:https://www.cnblogs.com/ggzhangxiaochao/p/14716847.html
Copyright © 2020-2023  润新知