我有下一个单独的C代码,我正在尝试使用arm-gcc GNU和eclipse编译arm。
main.h
#ifndef
#define MAIN_H_
extern int rmain(int,int);
#endif
的main.c
#include main.h
#include sum.h
int rmain(a1,a2){
int z=0x89;
return sum(a1+a2)+z;
sum.h
#ifndef
#define SUM_H_
extern int sum(int,int);
#endif
sum.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的多重定义。