Report a bug
If you spot a problem with this page, click here to create a Bugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page. Requires a signed-in GitHub account. This works well for small changes. If you'd like to make larger changes you may want to consider using a local clone.

std.system

Information about the target operating system, environment, and CPU.
enum OS: int;
Operating system.

Note This is for cases where you need a value representing the OS at runtime. If you're doing something which should compile differently on different OSes, then please use version (Windows), version (linux), etc.

win32
Microsoft 32 bit Windows systems
win64
Microsoft 64 bit Windows systems
linux
All Linux Systems, except for Android
osx
Mac OS X
iOS
iOS
tvOS
tvOS
watchOS
watchOS
freeBSD
FreeBSD
netBSD
NetBSD
openBSD
OpenBSD
dragonFlyBSD
DragonFlyBSD
solaris
Solaris
android
Android
otherPosix
Other Posix Systems
unknown
Unknown
immutable OS os;
The OS that the program was compiled for.
enum Endian: int;
Byte order endianness.

Note This is intended for cases where you need to deal with endianness at runtime. If you're doing something which should compile differently depending on whether you're compiling on a big endian or little endian machine, then please use version (BigEndian) and version (LittleEndian).

bigEndian
Big endian byte order
littleEndian
Little endian byte order
immutable Endian endian;
The endianness that the program was compiled for.
enum ISA: int;
Instruction Set Architecture.

Note This is intended for cases where you need a value representing the instruction set architecture at runtime. If you're doing something which should compile differently depending on instruction set architecture, then please use version (X86_64), version (ARM), etc.

x86
Intel and AMD 32-bit processors
x86_64
Intel and AMD 64-bit processors
arm
The ARM architecture (32-bit) (AArch32 et al)
aarch64
The Advanced RISC Machine architecture (64-bit)
asmJS
The asm.js intermediate programming language
avr
8-bit Atmel AVR Microcontrollers
epiphany
The Epiphany architecture
ppc
The PowerPC architecture, 32-bit
ppc64
The PowerPC architecture, 64-bit
ia64
The Itanium architecture (64-bit)
mips32
The MIPS architecture, 32-bit
mips64
The MIPS architecture, 64-bit
msp430
The MSP430 architecture
nvptx
The Nvidia Parallel Thread Execution (PTX) architecture, 32-bit
nvptx64
The Nvidia Parallel Thread Execution (PTX) architecture, 64-bit
riscv32
The RISC-V architecture, 32-bit
riscv64
The RISC-V architecture, 64-bit
sparc
The SPARC architecture, 32-bit
sparc64
The SPARC architecture, 64-bit
s390
The System/390 architecture, 32-bit
systemZ
The System Z architecture, 64-bit
hppa
The HP PA-RISC architecture, 32-bit
hppa64
The HP PA-RISC architecture, 64-bit
sh
The SuperH architecture, 32-bit
webAssembly
The WebAssembly virtual ISA (instruction set architecture), 32-bit
alpha
The Alpha architecture
unknown
Unknown
immutable ISA instructionSetArchitecture;
The instruction set architecture that the program was compiled for.