そのため、Linux では、gcc でコンパイル/リンクされた C++ プログラムの実行可能ファイルが読み込まれると、次のことが起こります。
- exec* システムコール
- ロードされた LD 動的ライブラリー
- C++ 静的初期化
- メインのエントリーポイント
プロトタイプを使用した関数があるとしますvoid f()
。
ステップ 1 と 2 の間で実行されるように、実行可能ファイルを f にリンクする (ソースの変更、属性、コンパイラ/リンカー オプションなどを介して) 方法はありますか?
ステップ2と3の間はどうですか?
(明らかに、これを行う標準的な方法はありません。最近のバージョンの gcc/linux/x86_64/glibc/binutils に対して、プラットフォーム固有、コンパイラ固有の方法を求めています)