Chinaunix
标题:
静态库相互包含了怎么办?
[打印本页]
作者:
xiaodada
时间:
2009-01-16 14:30
标题:
静态库相互包含了怎么办?
LD_LIBS = -L$(LIB_DIR) -laa -lbb
aa中用了bb函数, bb中用了aa中的函数. 这种相互包含的问题怎么解决?
作者:
cjaizss
时间:
2009-01-16 15:12
没问题的
作者:
cjaizss
时间:
2009-01-16 15:13
即便是间接递归都没问题.
比如以下测试:
$ cat >1.c
int func2(int);
int func1(int i)
{
if(i==1||i==0)return i;
return func2(i-1)+i;
}
$ cat >2.c
int func1(int);
int func2(int i)
{
if(i==1||i==0)return i;
return func1(i-1)+i;
}
$ gcc -c 1.c
$ gcc -c 2.c
$ ar rcs lib1.a 1.o
$ ar rcs lib2.a 2.o
$ cat >test.c
int func1(int);
int func2(int);
#include <stdio.h>
int main()
{
printf("%d\n",func1(10));
return 0;
}
$ gcc test.c -L. -l1 -l2
$ ./a.out
55
复制代码
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2