TL;DR

OS なしでプログラムを実行しなければならない環境を指す、C と C++ の用語。

オペレーティングシステム (OS) なしでプログラムを実行しなければいけない環境を指す C および C++ の用語

仕組み

Wikipedia によると、C 言語は ISO/IEC 9899、C++ は ISO/IEC 14882 で規定されている。フリースタンディング環境は、OS の機能がなく、記憶領域も狭いことを前提にするので、ホスト環境で必要なランタイムライブラリもいらない。エントリポイントは main と名前も形も違う関数にでき、GCC の既定は void _start(void) である。

例

組み込みシステム向けのプログラムや、OS のカーネルの開発で使われる。

注意点

標準 C ライブラリの大部分は使えない。C で求められるのは定義を含むヘッダファイルだけで、C99 では float.h、limits.h、stdarg.h、stddef.h、iso646.h、stdbool.h、stdint.h に限られる。

関連

  • ホスト環境: フリースタンディング環境と対になる、OS の上でプログラムを実行する環境

出典