Sun Studio 12:Fortran 编程指南

4.5.5 一个简单动态库

生成动态库需要用 -xcode 选项和链接程序选项 -G-ztext-hname 编译源文件。这些链接程序选项可通过编译器命令行来提供。

您可以用静态库示例中使用的相同文件创建一个动态库。

示例:用 -pic 和其他链接程序选项编译:


demo% f95 -o libtestlib.so.1 -G -xcode=pic13 -ztext  \ 
–hlibtestlib.so.1 *.f

–G 告知链接程序生成一个动态库。

–ztext 会在发现与位置无关的代码以外的任何内容(如可重定位文本)时发出警告。

示例:使用动态库生成可执行文件 a.out


demo% f95 -o trylib -R”pwd” trylib.f libtestlib.so.1
demo% file trylib
trylib:ELF 32–bit MSB executable SPARC Version 1, dynamically linked, not stripped
demo% ldd trylib
     libtestlib.so.1 => /export/home/U/Tests/libtestlib.so.1
     libfui.so.1 => /opt/SUNWspro/lib/libfui.so.1
     libfai.so.1 => /opt/SUNWspro/lib/libfai.so.1
     libc.so.1 => /usr/lib/libc.so.1

注意,此示例使用 -R 选项将动态库路径(当前目录)绑定到可执行文件中。

file 命令显示可执行文件是以动态方式链接的。