Microsoft KB Archive/49729

{| = INFO: Documentation Supplement for clock =
 * width="100%"|

Article ID: Q49729

The information in this article applies to:
 * The C Run-time (CRT) included with: - Microsoft C for MS-DOS, versions 5.1, 6.0, 6.0a, 6.0ax - Microsoft C/C++ for MS-DOS, version 7.0 - Microsoft Visual C++ for Windows, versions 1.0, 1.5 - Microsoft Visual C++ 32-bit Edition, versions 1.0, 2.0, 2.1, 4.0, 5.0

SUMMARY
The clock function is documented as telling how much processor time has been used by the calling process. This definition is misleading.

MORE INFORMATION
The clock function returns a clock_t (long) value, which is the difference between the time field (for seconds) and millitm field (for milliseconds) in the structure that is returned from two calls to the ftime function. The first call to ftime is made within the startup code of the executing program, and the second call is made when the clock function is explicitly called in your code.

Thus, the value returned by clock is the number of CLK_TCKs (milliseconds) elapsed since the startup code was executed, or -1 if the function was unsuccessful.

NOTE: On most IBM PCs and compatibles, the clock speed is not fast enough to compute milliseconds, or indeed, hundredths of seconds. The ftime function calls interrupt 21, function 2Ch (under MS-DOS), which returns, among other information, the seconds in hundredths. The hundredths information is an estimation from the clock speed, which is approximately 18.2 ticks per second on most PCs. This hundredths value is multiplied by 10 to get the millisecond value.

Keywords         : kbCRT kbVC Version          : MS-DOS:5.1,6.0,6.00a,6.00ax,7.0; WINDOWS:1.0,1.5; WINDOWS  NT:1.0,2.0,2.1,4.0,5.0 Platform         : MS-DOS NT WINDOWS Issue type       : kbinfo
 * }