到目前为止,我一直使用 MSVC++ 下的资源来从我的程序内部访问原始数据,而且我从未直接使用过链接器,但现在我在 Linux 下,我正在使用交叉编译器来生成精灵文件。我和一个朋友正在开发一个玩具操作系统。
在某个时候我们需要完成的一件事是将相当大的任意原始数据链接到可执行文件中。我们希望数据位于可执行文件的末尾附近,并且还需要能够获得指向该原始数据的指针。可能值得注意的是,GRUB 在引导时将内核加载到内存中。
我们之前的一个想法是编写一个程序来将数据转换为一个 C 源文件,其中数据表示为一个字节数组,但我们认为这有点混乱,我们宁愿直接链接它。
有什么见解吗?我不需要令人毛骨悚然的细节,只需要对需要做什么的广泛概述。我认为我们可能必须对链接描述文件进行一些更改。