# align

Directs the compiler to align the variable to a specified boundary and a specified offset.

## Syntax

Windows* OS: __declspec(align(n[,off]))

Linux* OS: __attribute__((aligned(n[,off]))) __attribute__((align(n[,off])))

For portability on Linux OS, you should use the syntax form __attribute__((aligned(n[, off]))). This form is compatible with the GNU compiler.

## Arguments

`n` | Specifies the alignment. The compiler will align the variable to an n-byte boundary.
`off` | Optional. Specifies the offset. If this argument is omitted, the value is 0.

## Description

This keyword directs the compiler to align the variable to an n-byte boundary with offset off within each n-byte boundary. The address of the variable is `address mod n=off`.

### Note

If you require 8-byte alignment, we recommend you specify 16 for n, instead of 8. When 8 is used, the compiler interprets the value as a suggestion and you may not get the requested 8-byte alignment, depending on various heuristics.

Parent topic: Attributes