链接两个目标文件以生成一个二进制文件

时间:2018-11-02 14:45:31

标签: c windows assembly linker

如何使用gcc链接两个目标文件以生成一个二进制文件 一个目标文件是从汇编代码生成的,另一个是从c代码生成的。

我有一个链接脚本,该脚本使用elf_i386作为输出格式。当我尝试使用

链接文件时
ld -T linker.ld -m elf_i386 -o file1.o file2.o

它生成错误:invalid output format elf_i386 链接描述文件如下:

OUTPUT_FORMAT(elf32_i386)
ENTRY(START)
SECTIONS
{
    .text :{*(.text)}
    .data :{*(.data)}        
    .bss :{*(.bss)}
}

1 个答案:

答案 0 :(得分:0)

我想我找到了答案。我正在使用MinGW。 MinGW不支持交叉编译。因此,我决定选择Cygwin,效果非常好。我这样做是为了进行OS开发。