• libpq 与 femisc.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索引页

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

     

  • 相关阅读:
    X
    W
    J
    A
    Q
    P
    B
    排列和组合的求解
    深度学习之序列处理
    32位和64位数据类型大小对比
  • 原文地址:https://www.cnblogs.com/gaojian/p/2586045.html
Copyright © 2020-2023  润新知