cpu_info.c

来自「linux下的MPEG1」· C语言 代码 · 共 72 行

C
72
字号
/* *  cpu_info.c *  Goom * *  Created by Guillaume Borios on Sun Dec 28 2003. *  Copyright (c) 2003 iOS. All rights reserved. * */#include "cpu_info.h"#ifdef CPU_X86#include "mmx.h"#endif#ifdef CPU_POWERPC#include <sys/types.h>#include <stdlib.h>#endifstatic unsigned int CPU_FLAVOUR = 0;static unsigned int CPU_NUMBER = 1;static unsigned int CPU_DETECTED = 0;static void autoset_cpu_info (void){    CPU_DETECTED = 1;    #ifdef CPU_POWERPC    int result;    size_t size;        result = 0;    size = 4;    if (sysctlbyname("hw.optional.altivec",&result,&size,NULL,NULL) == 0)    {        if (result != 0) CPU_FLAVOUR |= CPU_OPTION_ALTIVEC;    }        result = 0;    size = 4;    if (sysctlbyname("hw.optional.64bitops",&result,&size,NULL,NULL) == 0)    {        if (result != 0) CPU_FLAVOUR |= CPU_OPTION_64_BITS;    }        result = 0;    size = 4;    if (sysctlbyname("hw.ncpu",&result,&size,NULL,NULL) == 0)    {        if (result != 0) CPU_NUMBER = result;    }#endif /* CPU_POWERPC */    #ifdef CPU_X86    if (mmx_supported()) CPU_FLAVOUR |= CPU_OPTION_MMX;    if (xmmx_supported()) CPU_FLAVOUR |= CPU_OPTION_XMMX;#endif /* CPU_X86 */}unsigned int cpu_flavour (void){    if (CPU_DETECTED == 0) autoset_cpu_info();    return CPU_FLAVOUR;}unsigned int cpu_number (void){    if (CPU_DETECTED == 0) autoset_cpu_info();    return CPU_NUMBER;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?