↑↓ 选择↵ 打开⌫ 切换范围完整搜索

PG.CENTER 连接 PostgreSQL 文档、百科与生态知识。由 Pigsty 维护。

已结束支持的版本: 6.5 / 6.3
历史版本。 PostgreSQL 6.5 已结束支持。 请参阅 当前版本手册.

39.3.  SunOS 4.x、Solaris 2.x 和 HP-UX

在 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 库和数学库)。

报告文档问题

阅读 上游文档. 反馈更正前请先核对 当前版本手册.