これまで、私は常に MSVC++ の下でリソースを使用してプログラム内から生データにアクセスしてきました。リンカを直接操作したことはありませんでしたが、今では Linux の下にあり、クロスコンパイラを使用して生成しています。エルフファイル。友人と私はおもちゃの OS に取り組んでいます。
ある時点で達成する必要があることの 1 つは、かなり大きな任意の生データを実行可能ファイルにリンクすることです。データを実行可能ファイルの末尾近くに配置し、その生データへのポインターも取得できるようにする必要があります。GRUB がブート時にカーネルをメモリーにロードしていることは、おそらく注目に値するでしょう。
以前のアイデアの 1 つは、データを C ソース ファイルに変換するプログラムを作成し、データをバイト配列として表現することでした。
洞察はありますか?恐ろしい詳細は必要ありません。何をする必要があるかの大まかな概要だけです。おそらく、リンカー スクリプトに変更を加える必要があると思います。