### 10.4 Brief description of `gcov` data files

`gcov` uses two files for profiling. The names of these files are derived from the original object file by substituting the file suffix with either `.gcno`, or `.gcda`. All of these files are placed in the same directory as the object file, and contain data stored in a platform-independent format.

The `.gcno` file is generated when the source file is compiled with the GCC `-ftest-coverage` option. It contains information to reconstruct the basic block graphs and assign source line numbers to blocks.

The `.gcda` file is generated when a program containing object files built with the GCC `-fprofile-arcs` option is executed. A separate `.gcda` file is created for each object file compiled with this option. It contains arc transition counts, and some summary information.

The full details of the file format is specified in `gcov-io.h`, and functions provided in that header file should be used to access the coverage files.