libpq 与 fe-misc.c

磨砺技术珠矶,践行数据之道,追求卓越价值

回到上一级页面:PostgreSQL内部结构与源代码研究索引页    回到顶级页面:PostgreSQL索引页

 

经过一番验证,对 libpq 的编译过程有了进一步的了解。

src/interfaces/libpq 目录下,有很多的 c 源文件。
如:fe-misc.c ,fe-print.c 等等。

那么这些文件和最终编译好的libpq.so 有何关系呢?
从源文件目录下的几个文件来看:

src/interfaces/libpq/Makefile中,有:
...    OBJS=....  fe-misc.o ...

src/interfaces/libpq/nls.mk中,有:
...    GETTEXT_FILES=.... fe-misc.c

因此,做了如下的实验:

把fe-misc.c 文件改名 fe-gao.c
上述 两个 fe-misc 的名字 分别变成: fe-gao.o  和  fe-gao.c

重新编译,运行。没有任何问题。

从 libpq-int.h 中可以看到,凡是涉及到 fe-misc.c 的函数调用,都是在此文件中
声明外部函数:
extern ...

可以这样认为:
编译链接 libpq.so文件的时候,是在当前目录下寻找 那些 Makefile中声明的.o文件,
来发现调用关系,链接成 libpq.so。

 

回到上一级页面:PostgreSQL内部结构与源代码研究索引页    回到顶级页面:PostgreSQL索引页

磨砺技术珠矶,践行数据之道,追求卓越价值

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值