Spec-Zone.ru › Qt 5.9

Класс QSysInfo

Класс QSysInfo предоставляет информацию о системе. Подробнее...

Заголовок: #include <QSysInfo>
qmake: QT += core
  • Список всех членов, включая унаследованные
  • Устаревшие члены

Типы публичного доступа

Перечисление Endian { BigEndian, LittleEndian, ByteOrder }
Перечисление Sizes { WordSize }

Статические члены публичного доступа

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

Подробное описание

Класс QSysInfo предоставляет информацию о системе.

  • WordSize указывает размер указателя для платформы, на которой скомпилировано приложение.
  • ByteOrder указывает, является ли платформа big-endian или little-endian.

Некоторые константы определены только на определённых платформах. Вы можете использовать препроцессорные символы Q_OS_WIN и Q_OS_MACOS для проверки, скомпилировано ли приложение под Windows или macOS.

См. также QLibraryInfo.

Документация по типам членов

Перечисление QSysInfo::Endian

Константа Значение Описание
QSysInfo::BigEndian 0 Порядок байтов big-endian (также называется сетевым порядком байтов)
QSysInfo::LittleEndian 1 Порядок байтов little-endian
QSysInfo::ByteOrder BigEndian or LittleEndian Равно BigEndian или LittleEndian в зависимости от порядка байтов платформы.

Перечисление QSysInfo::Sizes

Это перечисление предоставляет платформозависимую информацию о размерах структур данных, используемых базовой архитектурой.

Константа Значение Описание
QSysInfo::WordSize ( sizeof( void * ) <<3 ) Размер в битах указателя для платформы, на которой скомпилировано приложение (32 или 64).

Документация по функциям-членам

[static] QString QSysInfo::buildAbi()

Возвращает полную строку архитектуры, для которой был скомпилирован Qt. Эта строка полезна для идентификации различных, несовместимых сборок. Например, она может использоваться в качестве идентификатора для запроса пакета обновления с сервера.

Значения, возвращаемые этой функцией, сохраняются стабильными следующим образом: обязательные компоненты результата не изменятся в будущих версиях Qt, но могут быть добавлены необязательные суффиксы.

Возвращаемое значение состоит из трёх или более частей, разделённых дефисами ("-"). Они:

Компонент Значение
Архитектура процессора Такая же, как у QSysInfo::buildCpuArchitecture(), например, "arm", "i386", "mips" или "x86_64"
Порядок байтов "little_endian" или "big_endian"
Размер слова Является ли это приложением 32- или 64-битной архитектуры. Возможные значения: "llp64" (Windows 64-битная), "lp64" (Unix 64-битная), "ilp32" (32-битная)
(Необязательный) ABI Ноль или более компонентов, идентифицирующих различные ABI, возможные в этой архитектуре. В настоящее время Qt имеет необязательные ABI-компоненты для процессоров ARM и MIPS: один компонент - основной ABI (например, "eabi", "o32", "n32", "o64"); другой - использует ли конвенция вызовов регистры с плавающей точкой аппаратного обеспечения ("hardfloat" присутствует).

Кроме того, если Qt был сконфигурирован с -qreal float, тег ABI "qreal_float" будет присутствовать. Если Qt был сконфигурирован с другим типом, как qreal, этот тип присутствует после "qreal_", все символы, кроме букв и цифр, экранированы нижним подчёркиванием, за которым следуют две шестнадцатеричные цифры. Например, -qreal long double преобразуется в "qreal_long_20double".

Эта функция была введена в Qt 5.4.

См. также QSysInfo::buildCpuArchitecture().

[static] QString QSysInfo::buildCpuArchitecture()

Возвращает архитектуру процессора, для которой был скомпилирован Qt, в текстовом формате. Обратите внимание, что это может не соответствовать фактическому процессору, на котором выполняется приложение, если существует уровень эмуляции или если процессор поддерживает несколько архитектур (например, процессоры x86-64 поддерживают приложения i386). Для обнаружения этого используйте currentCpuArchitecture().

Значения, возвращаемые этой функцией, стабильны и не будут меняться со временем, поэтому приложения могут полагаться на возвращаемое значение в качестве идентификатора, за исключением того, что новые типы процессоров могут быть добавлены со временем.

Типичные возвращаемые значения (заметка: список неполный):

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

Эта функция была введена в Qt 5.4.

См. также QSysInfo::buildAbi() и QSysInfo::currentCpuArchitecture().

[static] QString QSysInfo::currentCpuArchitecture()

Возвращает архитектуру процессора, на котором выполняется приложение, в текстовом формате. Обратите внимание, что эта функция зависит от того, что сообщит ОС, и может не обнаружить фактическую архитектуру процессора, если ОС скрывает эту информацию или не может её предоставить. Например, 32-битная ОС, работающая на 64-битном процессоре, обычно не может определить, что процессор фактически способен запускать 64-битные программы.

Значения, возвращаемые этой функцией, в основном стабильны: будет предпринята попытка обеспечить их постоянство во времени и соответствие значениям, возвращаемым QSysInfo::builldCpuArchitecture(). Однако из-за характера используемых функций операционной системы могут возникнуть расхождения.

Типичные возвращаемые значения (заметка: список неполный):

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

Эта функция была введена в Qt 5.4.

См. также QSysInfo::buildAbi() и QSysInfo::buildCpuArchitecture().

[static] QString QSysInfo::kernelType()

Возвращает тип ядра операционной системы, для которого был скомпилирован Qt. Также это ядро, на котором работает приложение, если хостовая операционная система не работает с эмуляцией или виртуализацией.

Значения, возвращаемые этой функцией, стабильны и не изменятся со временем, так что приложения могут полагаться на возвращаемое значение в качестве идентификатора, за исключением того, что новые типы ядер ОС могут быть добавлены со временем.

В Windows эта функция возвращает тип ядра Windows, например, "winnt". В системах Unix она возвращает то же, что и вывод uname -s (в нижнем регистре).

Примечание: Эта функция может возвращать неожиданные значения: она возвращает "linux" для всех операционных систем, работающих под Linux (включая Android), "qnx" для всех операционных систем, работающих под QNX, "freebsd" для Debian/kFreeBSD и "darwin" для macOS и iOS. Для получения информации о типе продукта, на котором работает приложение, см. productType().

Эта функция была введена в Qt 5.4.

См. также QFileSelector, kernelVersion(), productType(), productVersion(), и prettyProductName().

[static] QString QSysInfo::kernelVersion()

Возвращает релизную версию ядра операционной системы. В Windows она возвращает версию ядра NT. В системах Unix, включая Android и macOS, она возвращает то же, что и команда uname -r.

Если версия не может быть определена, эта функция может возвратить пустую строку.

Эта функция была введена в Qt 5.4.

См. также kernelType(), productType(), productVersion() и prettyProductName().

[static] QString QSysInfo::machineHostName()

Возвращает имя хоста данной машины, если оно настроено. Обратите внимание, что имена хостов не гарантируют глобальную уникальность, особенно если они были настроены автоматически.

Данная функция не гарантирует, что возвращаемое имя хоста является полным доменным именем (FQDN). Для этого используйте QHostInfo для разрешения возвращаемого имени в FQDN.

Эта функция возвращает то же самое, что и QHostInfo::localHostName().

Эта функция была добавлена в Qt 5.6.

См. также QHostInfo::localDomainName.

[static] QString QSysInfo::prettyProductName()

Возвращает более читаемый вид productType() и productVersion(), содержащий другие токены, такие как тип операционной системы, кодовые имена и другую информацию. Результат этой функции подходит для отображения пользователю, но не для долгосрочного хранения, так как строка может меняться с обновлением Qt.

Если productType() имеет значение "unknown", эта функция вместо этого будет использовать функции kernelType() и kernelVersion().

Эта функция была добавлена в Qt 5.4.

См. также kernelType(), kernelVersion(), productType() и productVersion().

[static] QString QSysInfo::productType()

Возвращает имя продукта операционной системы, в которой работает данное приложение. Если приложение выполняется на какой-либо эмуляционной или виртуализационной платформе (например, WINE в Unix-системе), эта функция просмотрит слой эмуляции/виртуализации.

Значения, возвращаемые этой функцией, стабильны и не изменятся со временем, поэтому приложения могут полагаться на возвращаемое значение в качестве идентификатора, за исключением того, что новые типы ОС могут быть добавлены со временем.

Примечание для Linux и Android: эта функция возвращает "android" для систем Linux, выполняющих Android-пользовательское пространство, особенно при использовании библиотеки Bionic. Для всех остальных систем Linux, независимо от используемой библиотеки C, она пытается определить имя дистрибутива и возвращает его. Если определение имени дистрибутива завершилось неудачей, возвращается "unknown".

Примечание для macOS: эта функция возвращает "osx" для всех систем macOS, независимо от соглашений об именовании Apple. Возвращаемая строка будет обновлена для Qt 6. Обратите внимание, что эта функция ошибочно возвращала "macos" для macOS 10.12 в версиях Qt 5.6.2, 5.7.1 и 5.8.0.

Примечание для Darwin, iOS, tvOS и watchOS: эта функция возвращает "ios" для iOS-систем, "tvos" для tvOS-систем, "watchos" для watchOS-систем и "darwin", если система не может быть определена.

Примечание для FreeBSD: эта функция возвращает "debian" для Debian/kFreeBSD и "unknown" в противном случае.

Примечание для Windows: эта функция возвращает "winrt" для WinRT-сборок и "windows" для обычных сборок настольных приложений.

Для других систем Unix-подобного типа эта функция обычно возвращает "unknown".

Эта функция была добавлена в Qt 5.4.

См. также QFileSelector, kernelType(), kernelVersion(), productVersion() и prettyProductName().

[static] QString QSysInfo::productVersion()

Возвращает версию продукта операционной системы в строковом формате. Если версия не может быть определена, эта функция возвращает "unknown".

Она будет возвращать полные версии Android, iOS, macOS и Windows на этих системах.

Типичные возвращаемые значения (список неполный):

  • "2016.09" (Amazon Linux AMI 2016.09)
  • "7.1" (Android Nougat)
  • "25" (Fedora 25)
  • "10.1" (iOS 10.1)
  • "10.12" (macOS Sierra)
  • "10.0" (tvOS 10)
  • "16.10" (Ubuntu 16.10)
  • "3.1" (watchOS 3.1)
  • "7 SP 1" (Windows 7 Service Pack 1)
  • "8.1" (Windows 8.1)
  • "10" (Windows 10)
  • "Server 2016" (Windows Server 2016)

В системах Linux она будет пытаться определить версию дистрибутива и вернёт её. Это также делается для Debian/kFreeBSD, поэтому в этом случае функция вернёт версию Debian.

Во всех остальных Unix-подобных системах функция всегда возвращает "unknown".

Примечание: строка версии, возвращаемая этой функцией, не гарантирует возможность упорядочения. В Linux версия дистрибутива может неожиданно измениться, пожалуйста, обратитесь к документации дистрибутива для получения информации о принципах версии.

Эта функция была добавлена в Qt 5.4.

См. также kernelType(), kernelVersion(), productType() и prettyProductName().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qsysinfo.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API