+ -
当前位置:首页 → 问答吧 → 怎么使用别人编写好的函数库

怎么使用别人编写好的函数库

时间:2010-08-26

来源:互联网

我在编写C语言经典算法100例的第32题时看答案是用了conio.h里的函数,但是linux里没有这个函数用不了,然后我再网上找到了一个在linux 下实现的函数库:http://sourceforge.net/projects/linux-conioh/files/,这个函数库是用ncurses.h库里函数进行实现的。
我先把代码保存为libconio.C,然后使用gcc -c libconio.C -o libconio.o生成目标文件,然后使用ar cqs libconio.a libconio.o生成静态库文件,我自己编写的函数代码是
  1. void main(void)
  2. {
  3. int color;
  4. for (color = 0; color<8; color++)
  5. {
  6. textbackground(color);
  7. cprintf("This is color %d\r\n", color);
  8. cprintf("Press any key to continue\r\n");
  9. getch();
  10. }
  11. }
复制代码
保存为c_032.c,编译使用gcc c_032.c -lcurses -L ./ -lconio,结果出现undefined reference to `cprintf',undefined reference to `textbackground',不知道为什么会出现函数未定义的问题。
还有一般怎么使用别人的函数库啊?
在使用的时候应该注意点什么?

作者: foolloow   发布时间: 2010-08-26

include      .h文件了吗?直接把.o写上一直联接不就完了。

作者: zhangsuozhu   发布时间: 2010-08-26

知道接口,搞到obj文件,这样就够了。

作者: tempname2   发布时间: 2010-08-26

回复 zhangsuozhu


    请问在自己的程序里要加上什么.h文件啊?
    我就是有点搞不清楚他们之间的关系,比如程序a调用了函数b,函数b的实现是别人的库函数,那编译需要加什么选项或加什么.h文件啊?有点搞不清楚。

作者: foolloow   发布时间: 2010-08-26

知道接口就够了。。。。。。头文件里写的就是接口。

作者: tempname2   发布时间: 2010-08-26