소프트웨어 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;
}
번호 | 제목 | 글쓴이 | 조회 | 등록일 |
---|---|---|---|---|
[공지] | 질문과 답변 게시판 이용간 유의사항 | gooddew | - | - |
96362 | 윈 도 우| 윈도우 재설치 후 CMD 배치 파일 실행 오류 문의 [2] | 앙팡 | 202 | 03-12 |
96361 | 서버 / IT| 시놀로지 DS220+ 설치 후 Quickconnect 에서 왜 비활성화 ... [1] | midas187 | 340 | 03-12 |
96360 | 기 타| xyplorer | rnmc | 177 | 03-12 |
96359 | 윈 도 우| 윈도우8 설치파일 구할 수 있을가요? [4] | 크리스 | 472 | 03-12 |
96358 | 하드웨어| RGB 있는 보드 관련질문입니다 [4] | 고양이뜰채 | 230 | 03-11 |
96357 | 게 임| 파일삭제~~~ [4] | 초샤이언 | 317 | 03-11 |
96356 | 소프트웨어| 윈11 복구 프로그램 추천좀 해주실 수 있을까요??? [5] | 易모地뗀思 | 464 | 03-11 |
96355 | 하드웨어| 어제부터 부팅시 화면이 뜹니다. [2] | redforce85 | 548 | 03-11 |
96354 | 하드웨어| 삼성 갤럭시북3 노트북 NVME 옮기기... [7] | 개척자 | 461 | 03-11 |
96353 | 윈 도 우| 완전한 폐쇄망에서 IE11설치? [2] | 마집사 | 329 | 03-11 |
96352 | 소프트웨어| VMware 만들기 오류 [1] | Mac111 | 183 | 03-11 |
96351 | 윈 도 우| GPT에 MBR로 윈도를 설치했더니 업뎃이 안되는데... [6] | KUZ™ | 555 | 03-11 |
96350 | 소프트웨어| everything에서 mybox 실시간 검색이 안 됩니다 [2] | ksire | 377 | 03-11 |
96349 | 하드웨어| 온도 정상? [2] | 루저007 | 307 | 03-11 |
96348 | 윈 도 우| 이미지 백업하다가 큰일나버렸습니다 [15] | 날아가 | 1045 | 03-10 |
96347 | 윈 도 우| 배치파일을 통한 파일명을 변경하고 싶습니다. [14] | 마집사 | 387 | 03-10 |
96346 | 기 타| LG -XNOTE 노트북입니다.. [3] | 불형 | 491 | 03-10 |
96345 | 소프트웨어| 윈도10 포맷후 특정 오디오 드라이버를 설치하면 부팅이 안... [5] | 나빌레라1 | 411 | 03-10 |
96344 | 윈 도 우| 구글 캘린더와 Outlook 동기화 방법 있을까요?? [2] | DarkAngel1 | 381 | 03-10 |
96343 | 하드웨어| 메인보드이상 [3] | First. | 493 | 03-10 |
cmd 창에서
wmic cpu get name
이걸로 얻을 수 있는데, 이걸 해당 언어에서 파싱하는 방식이면 되지 않을까요?