# align

Determines whether variables and arrays are naturally aligned.

## Architecture Restrictions

Only available on IA-32 architecture

## Syntax

Linux: | -align -noalign

macOS: | -align -noalign

Windows: | None

## Arguments

None

## Default

-noalign | Variables and arrays are aligned according to the gcc model, which means they are aligned to 4-byte boundaries.

## Description

This option determines whether variables and arrays are naturally aligned. Option -align forces the following natural alignment:

Type | Alignment
--- | ---
double | 8 bytes
long long | 8 bytes
long double | 16 bytes

If you are not interacting with system libraries or other libraries that are compiled without -align, this option can improve performance by reducing misaligned accesses.

This option can also be specified as -m[no-]align-double. The options are equivalent.

### CAUTION

If you are interacting with compatible libraries, this option can improve performance by reducing misaligned accesses. However, if you are interacting with noncompatible libraries or libraries that are compiled without option -align, your application may not perform as expected.

## IDE Equivalent

None

## Alternate Options

None

Parent topic: Data Options