スタートアップルーチン
読み:スタートアップルーチン
外語:startup routine
プログラムが起動してから、最初に実行される初期化処理のこと。C/C++であれば、main関数を呼び出される前に実行される処理である。
概要
C/C++のmain関数は、argc/argvという二つの引数が与えられることが言語仕様で規定されている。
しかしながら、このような引数は勝手に湧いて出てきたりはしない。つまり、プログラムの「どこか」で、これを用意しているのである。このための処理は通常、コンパイラーメーカーが作成したものがビルド時に自動的にリンクされており、こういった処理をスタートアップルーチンという。
特徴
機能
同じプログラミング言語であったとしても、動作するOSやCPUごとに、異なるものが必要となる。
従ってその内容は千差万別となるが、一般に、C/C++のスタートアップルーチンは、次のような処理を実施している。
OS上で動作するアプリではなく、組み込み開発で電源ON時に起動するようなローレベルの処理であれば、更に割り込みの制御、I/Oポートなどの初期化といった、ハードウェアの設定まで必要になる。こういった処理まで含めたものは、ブートローダーとも呼ばれる。
作成方法
C/C++のスタートアップルーチンをC/C++で作成することも不可能ではないが、通常はアセンブリ言語で書かれている。
作法についてはコンパイラーごとに異なるため、組み込み開発などでスタートアップルーチンの作成が必要となった場合、コンパイラーのマニュアルを見る必要がある。
再検索