问一下怎么在自己的C语言代码中利用其他源代码中的部分代码

liumoqing 2009-11-18 08:31:21
老师给了我PostgreSQL的源代码,叫我使用其中的list通用链表实现我自己代码中的动态链表问题。
个人看来用list通用链表主要也就是用源代码中node.h和list.c等几个文件中的一些函数和变量声明,但是这几个文件当中又有其他的头文件,直接当做头文件插入的话会一环套一环,实现不了。
有同学说可以找包有这些函数的库文件载入,我没这个经验,一时也没找到解决的办法。
有会的人么?怎么实现?谢谢了
...全文
118 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackyjkchen 2009-11-19
  • 打赏
  • 举报
回复
有Makefile,那就可以很方便的编译
xue785920414 2009-11-18
  • 打赏
  • 举报
回复
不懂呀!关注一下
liumoqing 2009-11-18
  • 打赏
  • 举报
回复
没找到lib文件,所以我也比较无从下手,搜到的一些def文件中也没有找到相关函数,只有在makefile文件里面有提及list.o和node.o:
#-------------------------------------------------------------------------
#
# Makefile--
# Makefile for backend/nodes
#
# IDENTIFICATION
# $PostgreSQL: pgsql/src/backend/nodes/Makefile,v 1.19 2007/01/20 17:16:11 petere Exp $
#
#-------------------------------------------------------------------------

subdir = src/backend/nodes
top_builddir = ../../..
include $(top_builddir)/src/Makefile.global

OBJS = nodeFuncs.o nodes.o list.o bitmapset.o tidbitmap.o \
copyfuncs.o equalfuncs.o makefuncs.o \
outfuncs.o readfuncs.o print.o read.o params.o value.o

all: SUBSYS.o

SUBSYS.o: $(OBJS)
$(LD) $(LDREL) $(LDOUT) SUBSYS.o $(OBJS)

clean:
rm -f SUBSYS.o $(OBJS)
这个是加密的文件么?还有办法能搞定么……
do_fork 2009-11-18
  • 打赏
  • 举报
回复
通常这类代码复用是很困难的,不能不加修改就用,有一个模块剥离和重组的过程。
倒不如找一个链表库用用,从postgresql中抠list代码出来用,本身就不怎么妥当
fcoolx 2009-11-18
  • 打赏
  • 举报
回复
哎 这个问题不是一两句能说清楚的
需要调啊

jackyjkchen 2009-11-18
  • 打赏
  • 举报
回复
有没有lib文件?有的话好办了,只要include函数声明,在link库文件即可。

找那个node.h,里面函数声明全的吧,然后在附加依赖项中link库(lib)

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧