我有下一个 C 代码,我正在尝试使用 arm-gcc GNU 和 eclipse 为 arm 编译。
主文件
#ifndef
#define MAIN_H_
extern int rmain(int,int);
#endif
主程序
#include main.h
#include sum.h
int rmain(a1,a2){
int z=0x89;
return sum(a1+a2)+z;
总和.h
#ifndef
#define SUM_H_
extern int sum(int,int);
#endif
总和.c
#include sum.h
int sum(int a1,int a2)
return a1+a2;
我的链接器脚本文件看起来像这样:mem.lds
ENTRY(rmain)
SECTIONS:{
.=0x808080
.text:{*(.text)}
.data:{*(.data)}
.bss:{*(.bss)}
}
这项工作正常,但我的问题是我需要将函数 rmain 设置为 0x808080 地址,所以我该怎么做呢?
我尝试过:
SECTIONS:{
.=0x808080
.start:{main.o (.text)}
.text:{*(EXCLUDE_FILE(main.o).text)}
.data:{*(.data)}
.bss:{*(.bss)}
}
但不是运气链接器说:rmain的多重定义。