生成动态库需要用 -xcode 选项和链接程序选项 -G、-ztext 和 -hname 编译源文件。这些链接程序选项可通过编译器命令行来提供。
您可以用静态库示例中使用的相同文件创建一个动态库。
示例:用 -pic 和其他链接程序选项编译:
demo% f95 -o libtestlib.so.1 -G -xcode=pic13 -ztext \ –hlibtestlib.so.1 *.f |
–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 命令显示可执行文件是以动态方式链接的。