我正在尝试运行此命令
ld -Ttext 0x1000 -o kernel.bin loader.o main.o video.o
但它会返回ld: unknown option: -Ttext
是否有其他方法可以采取此行动或让ld工作?
这里写的是,选项-Ttext存在,但在我的情况下,它表明没有 http://linux.about.com/library/cmd/blcmdl1_ld.htm
答案 0 :(得分:0)
“ - Ttext”是内存中文本(代码)段的位置。 macintosh ld不支持该选项。它确实支持“-segaddr text”(它可能不是文本,但它可能是_text或__text)。如果您正在编写操作系统,则可能需要单独的工具链,因为macintosh工具链仅适用于在macintosh上使用的mach-o对象。
答案 1 :(得分:-2)
ld
的{{1}}页面上写着:
man
所以你应该
-T scriptfile
--script=scriptfile
Use scriptfile as the linker script. This script replaces ld's
default linker script (rather than adding to it), so commandfile
must specify everything necessary to describe the output file.
If scriptfile does not exist in the current directory, "ld" looks
for it in the directories specified by any preceding -L options.
Multiple -T options accumulate.
ld -T text 0x1000 -o kernel.bin loader.o main.o video.o
,并且确实是链接描述文件。