pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。
在 SunOS 4.x、Solaris 2.x 和 HP-UX 下,必须用特殊的编译器标志编译源文件来创建简单的目标文件,并且必须产生一个共享库。HP-UX 所需的步骤如下。HP-UX C 编译器的 +z 标志产生位置无关代码(PIC),+u 标志移除 PA-RISC 体系结构通常会强制施加的某些对齐限制。必须使用 HP-UX 链接编辑器并带 -b 选项把目标文件变成共享库。这听起来复杂,其实非常简单,因为相应的命令就是:
# simple HP-UX example
% cc +z +u -c foo.c
% ld -b -o foo.sl foo.o
与上一小节提到的 .so 文件一样,必须告诉 create function 命令哪个是要装载的正确文件(即必须给出共享库即 .sl 文件的位置)。 在 SunOS 4.x 下,命令看起来像这样:
# simple SunOS 4.x example
% cc -PIC -c foo.c
% ld -dc -dp -Bdynamic -o foo.so foo.o
在 Solaris 2.x 下等价的命令行是:
# simple Solaris 2.x example
% cc -K PIC -c foo.c
% ld -G -Bdynamic -o foo.so foo.o
或者
# simple Solaris 2.x example
% gcc -fPIC -c foo.c
% ld -G -Bdynamic -o foo.so foo.o
链接共享库时,你可能必须在 ld 命令行上指定一些额外的共享库(通常是系统库,例如 C 库和数学库)。
译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。 英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。