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 の上でプログラムを実行する環境