이 페이지에서

QSysInfo Class

QSysInfo 클래스는 시스템에 대한 정보를 제공합니다. 더 보기...

헤더: #include <QSysInfo>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

공개 타입

enum Endian { BigEndian, LittleEndian, ByteOrder }
enum Sizes { WordSize }

정적 공용 멤버

QByteArray bootUniqueId()
QString buildAbi()
QString buildCpuArchitecture()
QString currentCpuArchitecture()
QString kernelType()
QString kernelVersion()
QString machineHostName()
QByteArray machineUniqueId()
QString prettyProductName()
QString productType()
QString productVersion()

상세 설명

  • WordSize 응용 프로그램이 컴파일되는 플랫폼의 포인터 크기를 지정합니다.
  • ByteOrder 플랫폼이 빅 엔디안인지 리틀 엔디안인지 여부를 지정합니다.

일부 상수는 특정 플랫폼에서만 정의됩니다. 전처리기 심볼 Q_OS_WIN 및 Q_OS_MACOS 를 사용하여 애플리케이션이 Windows 또는 macOS에서 컴파일되었는지 확인할 수 있습니다.

QLibraryInfo도 참조하십시오 .

멤버 유형 설명서

enum QSysInfo::Endian

상수값설명
QSysInfo::BigEndian0빅엔디안 바이트 순서 (네트워크 바이트 순서라고도 함)
QSysInfo::LittleEndian1리틀 엔디안 바이트 순서
QSysInfo::ByteOrderBigEndian or LittleEndian플랫폼의 바이트 순서에 따라 BigEndian 또는 LittleEndian과 동일합니다.

enum QSysInfo::Sizes

이 열거형은 기본 아키텍처에서 사용하는 데이터 구조의 크기에 대한 플랫폼별 정보를 제공합니다.

상수값설명
QSysInfo::WordSize(sizeof(void *)<<3)애플리케이션이 컴파일된 플랫폼의 포인터 크기(비트 단위)(32 또는 64).

멤버 함수 설명

[static] QByteArray QSysInfo::bootUniqueId()

이 시스템의 부팅에 대한 고유 ID를 확인할 수 있는 경우, 해당 ID를 반환합니다. 고유 ID를 확인할 수 없는 경우, 이 함수는 빈 바이트 배열을 반환합니다. 이 값은 부팅할 때마다 변경되며 전역적으로 고유한 것으로 간주할 수 있습니다.

이 함수는 현재 Linux 및 Apple 운영 체제에서만 구현되어 있습니다.

machineUniqueId()함수도 참조하십시오 .

[static] QString QSysInfo::buildAbi()

Qt가 컴파일된 전체 아키텍처 문자열을 반환합니다. 이 문자열은 서로 호환되지 않는 다양한 빌드를 식별하는 데 유용합니다. 예를 들어, 서버에서 업그레이드 패키지를 요청할 때 식별자로 사용할 수 있습니다.

이 함수에서 반환되는 값은 다음과 같이 안정적으로 유지됩니다. 결과의 필수 구성 요소는 향후 Qt 버전에서 변경되지 않지만, 선택적 접미사가 추가될 수 있습니다.

반환 값은 대시("-")로 구분된 세 개 이상의 부분으로 구성됩니다. 그 구성 요소는 다음과 같습니다:

구성 요소값
CPU 아키텍처QSysInfo::buildCpuArchitecture()와 동일하며, “arm”, “i386”, “mips” 또는 “x86_64” 등이 있습니다.
엔디안"little_endian" 또는 "big_endian"
워드 크기32비트 애플리케이션인지 64비트 애플리케이션인지 여부. 가능한 값은 “llp64”(Windows 64비트), “lp64”(Unix 64비트), “ilp32”(32비트)입니다.
(선택 사항) ABI이 아키텍처에서 가능한 서로 다른 ABI를 식별하는 0개 이상의 구성 요소. 현재 Qt에는 ARM 및 MIPS 프로세서용 선택적 ABI 구성 요소가 있습니다. 한 구성 요소는 주 ABI(예: "eabi", "o32", "n32", "o64")이며, 다른 하나는 호출 규칙이 하드웨어 부동 소수점 레지스터를 사용하는지 여부입니다("hardfloat"가 존재함).

또한, Qt가 -qreal float 로 구성된 경우, ABI 옵션 태그 "qreal_float"가 존재합니다. Qt가 qreal과 다른 유형으로 구성된 경우, 해당 유형은 "qreal_" 뒤에 나타나며, 문자와 숫자 이외의 모든 문자는 밑줄로 이스케이프 처리되고 그 뒤에 16진수 두 자리가 붙습니다. 예를 들어, ` -qreal long double `은 `"qreal_long_20double"`이 됩니다.

QSysInfo::buildCpuArchitecture()도 참조하십시오 .

[static] QString QSysInfo::buildCpuArchitecture()

Qt가 컴파일된 CPU의 아키텍처를 텍스트 형식으로 반환합니다. 에뮬레이션 레이어가 있거나 CPU가 여러 아키텍처를 지원하는 경우(예: i386 애플리케이션을 지원하는 x86-64 프로세서), 이 값이 애플리케이션이 실제로 실행되고 있는 CPU와 일치하지 않을 수 있습니다. 이를 확인하려면 ` currentCpuArchitecture()`를 사용하십시오.

이 함수가 반환하는 값은 안정적이며 시간이 지나도 변하지 않으므로, 애플리케이션은 반환된 값을 식별자로 신뢰할 수 있습니다. 단, 시간이 지남에 따라 새로운 CPU 유형이 추가될 수 있다는 점은 예외입니다.

일반적인 반환 값은 다음과 같습니다(참고: 이 목록은 모든 경우를 포함하지는 않습니다):

  • "arm"
  • "arm64"
  • "i386"
  • "ia64"
  • "mips"
  • "mips64"
  • "power"
  • "power64"
  • "sparc"
  • "sparcv9"
  • "x86_64"

QSysInfo::buildAbi() 및 QSysInfo::currentCpuArchitecture()도 참조하십시오 .

[static] QString QSysInfo::currentCpuArchitecture()

애플리케이션이 실행되고 있는 CPU의 아키텍처를 텍스트 형식으로 반환합니다. 이 함수는 OS가 보고하는 정보에 의존하므로, OS가 해당 정보를 숨기거나 제공할 수 없는 경우 실제 CPU 아키텍처를 감지하지 못할 수도 있습니다. 예를 들어, 64비트 CPU에서 실행되는 32비트 OS는 일반적으로 해당 CPU가 실제로 64비트 프로그램을 실행할 수 있는지 여부를 파악할 수 없습니다.

이 함수가 반환하는 값은 대체로 안정적입니다. 시간이 지나도 값이 일정하게 유지되고 buildCpuArchitecture() 함수가 반환하는 값과 일치하도록 노력합니다. 그러나 사용되는 운영 체제 함수의 특성상 차이가 발생할 수 있습니다.

일반적인 반환 값은 다음과 같습니다(참고: 이 목록은 모든 경우를 포함하지는 않습니다):

  • "arm"
  • "arm64"
  • "i386"
  • "ia64"
  • "mips"
  • "mips64"
  • "power"
  • "power64"
  • "sparc"
  • "sparcv9"
  • "x86_64"

QSysInfo::buildAbi() 및 QSysInfo::buildCpuArchitecture()도 참조하십시오 .

[static] QString QSysInfo::kernelType()

Qt가 컴파일된 운영 체제 커널의 유형을 반환합니다. 호스트 운영 체제가 호환성 또는 가상화 레이어를 실행하고 있지 않은 한, 이는 애플리케이션이 실행 중인 커널이기도 합니다.

이 함수가 반환하는 값은 안정적이며 시간이 지나도 변하지 않으므로, 애플리케이션은 반환된 값을 식별자로 신뢰할 수 있습니다. 단, 시간이 지남에 따라 새로운 OS 커널 유형이 추가될 수 있다는 점은 예외입니다.

Windows에서는 이 함수가 "winnt"와 같은 Windows 커널 유형을 반환합니다. Unix 시스템에서는 uname -s 명령어의 출력 결과와 동일한 값을 반환합니다(소문자로 변환됨).

참고: 이 함수는 예상치 못한 값을 반환할 수 있습니다. Linux를 실행하는 모든 운영 체제(Android 포함)의 경우 "linux"를, QNX를 실행하는 모든 운영 체제의 경우 "qnx"를, Debian/kFreeBSD의 경우 "freebsd"를, macOS 및 iOS의 경우 "darwin"을 반환합니다. 애플리케이션이 실행 중인 제품의 유형에 대한 정보는 productType()을 참조하십시오.

QFileSelector, kernelVersion(), productType(), productVersion() 및 prettyProductName()도 참조하십시오 .

[static] QString QSysInfo::kernelVersion()

운영 체제 커널의 릴리스 버전을 반환합니다. Windows에서는 NT 커널의 버전을 반환합니다. Android 및 macOS를 포함한 Unix 시스템에서는 ` uname -r ` 명령어가 반환하는 결과와 동일한 값을 반환합니다. VxWorks에서는 `kernelVersion()`이 반환하는 문자열의 숫자 부분을 반환합니다.

버전을 확인할 수 없는 경우, 이 함수는 빈 문자열을 반환할 수 있습니다.

kernelType(), productType(), productVersion(), prettyProductName()도 참조하십시오 .

[static] QString QSysInfo::machineHostName()

이 시스템에 호스트 이름이 설정되어 있는 경우, 해당 호스트 이름을 반환합니다. 특히 자동으로 설정된 호스트 이름의 경우, 전역적으로 고유하다고 보장되지 않는다는 점에 유의하십시오.

이 함수는 반환된 호스트 이름이 완전 지정 도메인 이름(FQDN)임을 보장하지 않습니다. FQDN을 얻으려면 QHostInfo 를 사용하여 반환된 이름을 FQDN으로 변환하십시오.

이 함수는 QHostInfo::localHostName()과 동일한 결과를 반환합니다.

QHostInfo::localDomainName 및 machineUniqueId()도 참조하십시오 .

[static] QByteArray QSysInfo::machineUniqueId()

이 컴퓨터에 대한 고유 ID를 확인할 수 있는 경우, 해당 ID를 반환합니다. 고유 ID를 확인할 수 없는 경우, 이 함수는 빈 바이트 배열을 반환합니다. ` machineHostName()` 함수와 달리, 이 함수가 반환하는 값은 전역적으로 고유할 가능성이 높습니다.

고유 ID는 IP 주소가 변경될 수 있거나 이 컴퓨터에 여러 개의 IP 주소가 할당될 수 있는 상황에서, 장기간에 걸쳐 이 컴퓨터를 식별하는 데 유용합니다. 예를 들어, 서버와 통신할 때나 공유 네트워크 저장소에 장치별 데이터를 저장할 때 이 ID를 사용할 수 있습니다.

일부 시스템에서는 이 값이 재부팅 후에도 유지되지만, 일부 시스템에서는 그렇지 않을 수 있습니다. 애플리케이션은 OS의 기능을 확인하지 않고 이 사실에 무턱대고 의존해서는 안 됩니다. 특히 리눅스 시스템에서 이 ID는 대개 영구적이며, 자체 저장 공간이 없는 노드(복제 노드)를 제외하고는 D-Bus 머신 ID와 일치합니다.

machineHostName() 및 bootUniqueId()도 참조하십시오 .

[static] QString QSysInfo::prettyProductName()

productType() 및 productVersion() 함수의 결과를 더 보기 좋게 변환하여 반환하며, 여기에는 운영 체제 유형, 코드명 및 기타 정보와 같은 추가 토큰이 포함됩니다. 이 함수의 결과는 사용자에게 표시하기에는 적합하지만, Qt 업데이트에 따라 문자열이 변경될 수 있으므로 장기 보존용으로는 적합하지 않습니다.

productType()의 결과가 "unknown"인 경우, 이 함수는 대신 kernelType() 및 kernelVersion() 함수를 사용합니다.

kernelType(), kernelVersion(), productType(), productVersion()도 참조하십시오 .

[static] QString QSysInfo::productType()

이 애플리케이션이 실행되고 있는 운영 체제의 제품명을 반환합니다. 애플리케이션이 일종의 에뮬레이션 또는 가상화 계층(예: 유닉스 시스템의 WINE)에서 실행 중인 경우, 이 함수는 해당 에뮬레이션/가상화 계층을 검사합니다.

이 함수가 반환하는 값은 안정적이며 시간이 지나도 변하지 않으므로, 애플리케이션은 반환된 값을 식별자로 신뢰할 수 있습니다. 단, 시간이 지남에 따라 새로운 OS 유형이 추가될 수 있다는 점은 예외입니다.

Linux 및 Android 참고 사항: 이 함수는 Android 사용자 공간을 실행하는 Linux 시스템(특히 Bionic 라이브러리를 사용하는 경우)에서 "android"를 반환합니다. 사용 중인 C 라이브러리와 관계없이 다른 모든 Linux 시스템의 경우, 배포판 이름을 파악하여 이를 반환합니다. 배포판 이름 파악에 실패하면 "unknown"을 반환합니다.

macOS 참고 사항: 이 함수는 Apple의 명명 규칙과 관계없이 모든 macOS 시스템에서 "macos"를 반환합니다. 이전 버전인 Qt 5에서는 Apple의 명명 규칙과 관계없이 "osx"를 반환했습니다.

Darwin, iOS, tvOS 및 watchOS 참고: 이 함수는 iOS 시스템의 경우 "ios", tvOS 시스템의 경우 "tvos", watchOS 시스템의 경우 "watchos"를 반환하며, 시스템을 식별할 수 없는 경우에는 "darwin"을 반환합니다.

FreeBSD 참고: 이 함수는 Debian/kFreeBSD의 경우 "debian"을 반환하고, 그 외의 경우에는 "unknown"을 반환합니다.

Windows 참고: 이 함수는 "windows"를 반환합니다.

VxWorks 참고: 이 함수는 "vxworks"를 반환합니다.

다른 유닉스 계열 시스템의 경우, 이 함수는 일반적으로 "unknown"을 반환합니다.

QFileSelector, kernelType(), kernelVersion(), productVersion(), prettyProductName()도 참조하십시오 .

[static] QString QSysInfo::productVersion()

운영 체제의 제품 버전을 문자열 형식으로 반환합니다. 버전을 확인할 수 없는 경우, 이 함수는 “unknown”을 반환합니다.

해당 시스템에서 Android, iOS, macOS, VxWorks, Windows의 전체 제품 버전을 반환합니다.

일반적인 반환 값은 다음과 같습니다(참고: 이 목록은 모든 경우를 포함하지 않습니다):

  • "12" (Android 12)
  • "36" (Fedora 36)
  • "15.5" (iOS 15.5)
  • "12.4" (macOS Monterey)
  • "22.04" (Ubuntu 22.04)
  • "8.6" (watchOS 8.6)
  • "11" (Windows 11)
  • "Server 2022" (Windows Server 2022)
  • "24.03" (VxWorks 7 - 24.03)

Linux 시스템에서는 배포판 버전을 파악하여 해당 버전을 반환합니다. Debian/kFreeBSD에서도 마찬가지이므로, 이 경우 이 함수는 Debian 버전을 반환합니다.

그 외의 모든 유닉스 계열 시스템에서는 이 함수가 항상 "unknown"을 반환합니다.

참고: 이 함수가 반환하는버전 문자열의 정렬 순서는 보장되지 않습니다. 리눅스의 경우 배포판 버전이 예기치 않게 변경될 수 있으므로, 버전 관리 방식에 대해서는 해당 배포판의 문서를 참조하십시오.

kernelType(), kernelVersion(), productType(), prettyProductName()도 참조하십시오 .

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.