关于GNU编译和连接?在线等!一经解决立即结贴!
我有文件a.h,b.s,c.c,d.c,e.c。编译能通过,但连接时总说我的fun1,fun2,fun3未定义。
后来我才发现连接时如果a.h中声明的函数它就只在a.c中去找其函数定义。请问我如何让编译器到
我对应的文件中找到对应的函数定义啊?或者说请问我什么方法可以在a.h中声明函数而在其它c文件和
汇编文件中找到对应的函数定义啊?
a.h内容:
/*我想把所有函数声明都放在这个头文件中*/
void fun1(void);
void fun2(void);
void fun3(void);
b.s内容:
.extern fun3
.global fun2/*fun2的定义*/
.func fun2
fun2:
.endfunc
c.c内容
#include "a.h"
void fun1()/*fun1的定义*/
{
}
d.c内容
#include "a.h"
void fun3()/*fun3的定义*/
{
}
e.c内容
#include "a.h"
int main()
{
fun1();
fun2();
fun3();
}