Ambiente freestanding

Entendendo a execução de código em C no ambiente freestanding.

O ambiente de execução freestanding é normalmente usado quando o código C é compilado para executar fora de um sistema operacional. Nesse ambiente nenhum dos recursos provindos do ambiente hosted são garantidos e sua existência ou não depende da implementação.

Os únicos recursos que são oferecidos pela libc são os declarados nos seguintes header files:

<float.h>, <iso646.h>, <limits.h>, <stdalign.h>, <stdarg.h>, <stdbool.h>, <stddef.h>, <stdint.h> e <stdnoreturn.h>.

Quaisquer outros recursos são dependentes de implementação.

No GCC para compilar um código visando o ambiente freestanding é possível usar a opção -ffreestanding. Também se pode usar a opção -fhosted para compilar para ambiente hosted mas esse já é o padrão.

Já a opção -nostdlib desabilita a linkedição da libc.

Last updated