2013-09-03 3 views
0

나는 하드웨어에 대한 C와 함께 몇 가지 정보를 정기적으로 좀하고 싶습니다 :Windows/Linux에서 CPU 이름, 모델, 속도를 확인하는 방법 C?

  1. 나는 얼마나 많은 CPU의
  2. 그들 각각이 얼마나 많은 코어
  3. 많은 논리적 코어는 모든 CPU의 모든 코어를 얼마나
  4. CPU 이름 + 모델
  5. CPU 속도 + 주파수
  6. CPU 아키텍처 (86, 64)
,536,

리눅스와 비슷한 OS에서 /proc/cpuinfo을 파싱 할 수 있지만 일반 파일이 아니기 때문에 안전하지 않다고 생각합니다. 봤어요 this 그래서 대답은 나에게 내가 필요로하는 모든 정보를 제공하지 않습니다. cat /proc/cpuinfo > file.txt으로 전화하고 file.txt을 구문 분석해야합니까? 나는 약 cpuid.h (임 GCC를 사용)하지만이 헤더에 대한 문서를 찾을 수 ca't 알고 (어쨌든 - 그것을 사용하는 것이 좋습니다?)

+4

"안전하지 않음"이란 무엇입니까? – chrylis

답변

2

Linux procfs의 가짜 파일은 매우 문제가있을 수 있습니다. 커널은 파일을 보통 파일로 잘못보고하지만, 준수하는 POSIX 시스템에서 일반 파일이 필요하기 때문에 동작하지 않습니다. 예를 들어 http://www.openwall.com/lists/musl/2013/05/05/9을 참조하십시오. 나는 당신이 비슷한 보고서를 들었을 것으로 의심하고 이것이 당신의 우려가 어디에서 오는지에 대한 것입니다.

내가 말한 것처럼, /proc의 가짜 "정규 파일"의 모든 나쁜 동작은 쓰기에만 적용됩니다. 독서를 위해 그들은 실제 정규 파일과 충분히 유사하게 행동해야한다. 그러나 당신은 당신이 좋아하고 그것에 대해 걱정하지 않고 읽을 수있다.