# Command syntax

The `cpik` command can be used for both compilation or linking tasks, exactly like the `gcc` front end. However, `cpik` is not a frontend and really performs these two tasks. Since V0.5.3, cpik can also directly generate the final `.hex` file, and is able to optimize jumps after the linking process.

Subsections

- Compilation
- Link
- Final assembly and jump optimizer
- Pragmas
  - `#pragma processor device_name`
  - `#pragma _CONFIGxy value` (Deprecated)
  - `#pragma config keyword=symbol,keyword=symbol,..`
  - `#pragma _IDLOCx value`
  - `#pragma saved_regs register,register,register, ..`
  - `#pragma fast_stack value`