SYSTEM_CLOCK (COUNT , COUNT_RATE , COUNT_MAX)

用途

從即時時鐘傳回數值資料。

類別

次常式

引數類型和屬性

COUNT (選用)
INTENT(OUT) INTEGER。 COUNT 的起始值取決於從 0 到 COUNT_MAX 範圍內處理器時鐘的現行值。 在達到 COUNT_MAX 值之前,每個時鐘計數的 COUNT 會增加 1。 在 COUNT_MAX 之後的下一個時鐘計數時, COUNT 值會重設為零。
COUNT_RATE (選用)
INTENT(OUT) INTEGERREAL 純量。 使用預設公分秒解析度時, COUNT_RATE 是指每秒處理器時鐘計數的數目,如果沒有時鐘,則是零。
IBM 延伸開始 如果您使用 –qsclk=micro指定微秒解析度,則 COUNT_RATE 的值是每秒 1000 000 個時鐘計數。 IBM 延伸結束
COUNT_MAX (選用)
INTENT(OUT) INTEGER 純量。 使用預設百分秒解析度時, COUNT_MAX 是給定處理器時鐘的時鐘計數數目上限。
IBM 延伸開始 如果您使用 -qsclk=micro 來指定微秒解析度,且 COUNT_MAXINTEGER(4)類型,則 COUNT_MAX 的值是 1 799 999 999 時鐘計數,或大約 30 分鐘。
如果您使用 -qsclk=micro 指定微秒解析度,且 COUNT_MAXINTEGER(8)類型,則 COUNT_MAX 的值是 86 399 999 999 時鐘計數,或大約 24 小時。 IBM 延伸結束

範例

IBM 延伸開始 在下列範例中,時鐘是 24 小時制。 呼叫 SYSTEM_CLOCK 之後, COUNT 包含以每秒時鐘刻度表示的日時間。 COUNT_RATE 中可用的每秒刻度數。 COUNT_RATE 值相依於實作。

     INTEGER, DIMENSION(8) :: IV
     TIME_SYNC: DO
     CALL DATE_AND_TIME(VALUES=IV)
     IHR  = IV(5)
     IMIN = IV(6)
     ISEC = IV(7)
     CALL SYSTEM_CLOCK(COUNT=IC, COUNT_RATE=IR, COUNT_MAX=IM)
     CALL DATE_AND_TIME(VALUES=IV)

     IF ((IHR == IV(5)) .AND. (IMIN == IV(6)) .AND. &
       (ISEC == IV(7))) EXIT TIME_SYNC

     END DO TIME_SYNC

     IDAY_SEC = 3600*IHR + IMIN*60 + ISEC
     IDAY_TICKS = IDAY_SEC * IR

     IF (IDAY_TICKS /= IC) THEN
       STOP 'clock error'
     ENDIF
     END
IBM 延伸結束

相關資訊

如需指定系統時鐘解析的相關資訊,請參閱 XL Fortran Compiler Reference 中的 -qsclk 編譯器選項。