Sun Studio 12:Fortran 编程指南

3.2.1.2 插入 SCCS ID 关键字

有些开发人员会在每个文件中放入一个或多个 SCCS ID 关键字,但这是可选的。以后,每次用 SCCS getdelget 命令签入文件时,都会用版本号来标识这些关键字。有三种可能的位置可以放置这些字符串:

使用关键字的优点是版本信息会出现在源列表和已编译的目标程序中。如果其前面有字符串 @(#),可用 what 命令打印目标文件中的关键字。

只含有参数和数据定义语句的已包含头文件不会生成任何初始化数据,因此这些文件的关键字通常置于注释或参数语句中。在某些文件中,如 ASCII 数据文件或 makefile,SCCS 信息将会出现在注释中。

SCCS 关键字以 %keyword% 形式出现,并通过 SCCS get 命令扩展成各自的值。最常用的关键字有:

%Z% 扩展为 what 命令识别的标识字符串 @(#)%M% 扩展为源文件名。%I% 扩展为本 SCCS 维护文件的版本号。%E% 扩展为当前日期。

例如,可以用包含以下关键字的 make 注释来标识 makefile。


#      %Z%%M%       %I%       %E%

源文件 startupcore.fcomputepts.fpattern.f 可以通过以下格式的初始化数据来标识:


      CHARACTER*50 SCCSID
      DATA SCCSID/"%Z%%M%       %I%       %E%\n"/

用 SCCS 处理该文件,进行编译,然后用 SCCS what 命令处理目标文件,显示如下:


demo% f95 -c pattern.f
...
demo% what pattern
pattern:
      pattern.f 1.2 96/06/10

您还可以创建名为 CTIMEPARAMETER,无论何时用 get 命令访问文件,该参数都会自动进行更新。


      CHARACTER*(*) CTIME
      PARAMETER ( CTIME="%E%")

INCLUDE 文件可以用含有 SCCS 标记的 Fortran 注释加以注解:


C       %Z%%M%       %I%       %E%

注 –

在 Fortran 95 源代码文件中使用单字母派生类型组件名可能会与 SCCS 关键字识别产生冲突。例如,当通过 SCCS 传递时,Fortran 95 结构组件引用 X%Y%Z 在执行 SCCS get 后会变成 XZ。在 Fortran 95 程序中使用 SCCS 时,应注意不要用单个字母定义结构组件。例如,假如 Fortran 95 程序中的结构引用是 X%YY%Z,SCCS 并不会将 %YY% 解释为关键字引用。或者,SCCS get -k 选项在检索文件时将不会扩展 SCCS 关键字 ID。