소프트웨어 CPU 이름 출력하는 C/C++ 프로그램
2023.02.26 23:31
안녕하세요. 간단한 건데도 검색되지가 않아 질문 드립니다. 제 CPU가 "인텔 코어 i5-11600K"인데 이 따옴표의 내용이 출력되도록 C/C++ 프로그램을 작성하고 싶은데 어떤 함수를 써야하는지 알 수가 없습니다. 하나의 함수로 가능할 것 같지는 않은데, 아무튼 아시는 분의 도움을 기다립니다.
댓글 [7]
-
메리아 2023.02.27 00:49
-
나는나다 2023.02.27 07:01
답변해 주신 방법도 좋은 방법일 수 있겠습니다. 감사합니다
-
kernel 2023.02.27 09:22
MS 사의 Visual C++ 컴파일러는 Intrinsic 명령을 지원해 주므로...
wmic 그런거 필요 없이 다음과 같이 간단하게 코드작성이 가능 함.
#include <iostream>
#include <vector>
#include <array>
#include <string>
#include <intrin.h>
using namespace std;
int main()
{
array<int, 4> cpuData;
vector<array<int, 4>> cpuDataEx;
__cpuid(cpuData.data(), 0x80000000);
int Ids = cpuData[0];
for (int i = 0x80000000; i <= Ids; ++i) {
__cpuidex(cpuData.data(), i, 0);
cpuDataEx.push_back(cpuData);
}
if (Ids >= 0x80000004) {
string brandName;
brandName.append((char*)cpuDataEx[2].data(), sizeof(cpuData));
brandName.append((char*)cpuDataEx[3].data(), sizeof(cpuData));
brandName.append((char*)cpuDataEx[4].data(), sizeof(cpuData));
cout << brandName << endl;
}
}
-
나는나다 2023.02.28 17:56
코드를 분석해 봐야겠습니다.
-
kernel 2023.02.28 23:07
위의 C++ 코드분석이 가능하려면...
Intel CPU 아키텍쳐 메뉴얼 부터 숙지하는 게 순서...
-
kernel 2023.02.27 09:40
위와 같이 간단하게 cpu 브랜드 네임을 알아낼 수 있는데...
응용여하에 따라 cpu 의 부가적인 모든 정보를 알아내는 것도 가능 함.
-
멤피시안 2023.02.27 12:29
#include <iostream>
#include <Windows.h>
int main() {
SYSTEM_INFO sysInfo;
GetSystemInfo(&sysInfo);
std::cout << "CPU 모델: " << sysInfo.dwProcessorType << std::endl;
return 0;
}
cmd 창에서
wmic cpu get name
이걸로 얻을 수 있는데, 이걸 해당 언어에서 파싱하는 방식이면 되지 않을까요?