1/* 2 * example.c 3 * 4 * Calculate the sum of a given range of integer numbers. The range is 5 * specified by providing two integer numbers as command line argument. 6 * If no arguments are specified, assume the predefined range [0..9]. 7 * Abort with an error message if the resulting number is too big to be 8 * stored as int variable. 9 * 10 * This program example is similar to the one found in the GCOV documentation. 11 * It is used to demonstrate the HTML output generated by LCOV. 12 * 13 * The program is split into 3 modules to better demonstrate the 'directory 14 * overview' function. There are also a lot of bloated comments inserted to 15 * artificially increase the source code size so that the 'source code 16 * overview' function makes at least a minimum of sense. 17 * 18 */ 19 20#include <stdio.h> 21#include <stdlib.h> 22#include "iterate.h" 23#include "gauss.h" 24 25static int start = 0; 26static int end = 9; 27 28 29int main (int argc, char* argv[]) 30{ 31 int total1, total2; 32 33 /* Accept a pair of numbers as command line arguments. */ 34 35 if (argc == 3) 36 { 37 start = atoi(argv[1]); 38 end = atoi(argv[2]); 39 } 40 41 42 /* Use both methods to calculate the result. */ 43 44 total1 = iterate_get_sum (start, end); 45 total2 = gauss_get_sum (start, end); 46 47 48 /* Make sure both results are the same. */ 49 50 if (total1 != total2) 51 { 52 printf ("Failure (%d != %d)!\n", total1, total2); 53 } 54 else 55 { 56 printf ("Success, sum[%d..%d] = %d\n", start, end, total1); 57 } 58 59 return 0; 60} 61