c - 链接两个目标文件以生成一个二进制文件
问题描述
我如何链接两个目标文件以生成一个二进制文件,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)}
}
解决方案
我想我找到了答案。我正在使用MinGW。MinGW 不支持交叉编译。所以我决定去 Cygwin 并且效果很好。我这样做是为了操作系统开发。
推荐阅读
- android - Android - Overlayservice,将点击事件传递给子对象
- java - Sonar + Jacoco + Junit 5:没有关于每次测试覆盖率的信息
- javascript - 在文本后面添加正确大小的矩形
- android - Picasso 无法从服务器获取图像,图像以 jpg 结尾
- java - Realm for Android:多对多关系
- php - 无法限制重复条目
- sql-server - 将带有其他参数的表类型从 C# 传递到 SQL 时出错
- android - 据说安装android studio的时候安装了android sdk,但是/Library里面没有这个android文件
- sql - 每月 YTD 的唯一计数
- apache-kafka - kafka.com:9092/0:连接到 ipv4# 失败:连接被拒绝