Sun Studio 12:Fortran 用户指南

3.4.182 –ztext

在不重定位的情况下仅生成纯库。

-ztext 的一般用途是验证所生成的库是否为纯文本;指令都是与位置无关的代码。因此,它通常与 -G-pic 一起使用。

使用 -ztext 时,如果 ldtext 段中找到了不完整的重定位,则不会生成库。如果它在 data 段中找到了不完整的重定位,则通常会生成库;数据段是可写入的。

不使用 -ztext 时,ld 会生成库,与有无重定位无关。

如果您不知道目标文件是否是使用 -pic 生成的,则一种典型用法是利用源文件和目标文件生成库。

示例:利用源文件和目标文件生成库:


demo% f95 -G -pic -ztext -o MyLib -hMyLib a.f b.f x.o y.o

另一种用法是确认代码是否与位置无关:不带 -pic 进行编译,但确认是否为纯文本。

示例:确认是否为纯文本-即使不带 -pic 进行编辑:


demo% f95 -G -ztext -o MyLib -hMyLib a.f b.f x.o y.o

如果使用 -ztext 进行编译,并且 ld 不生成库,则可以在不使用 -ztext 的情况下重新编译,此时 ld 将生成库。使用 -ztext 生成失败意味着无法对库的一个或多个组件共享,不过,也许能共享某些其他组件。此时就产生了性能问题,这最好由您-程序员来解决。