

Listing 1

/*--- test.h ------------------------------------*/
#ifdef MAIN
#  define EXTERN
#else
#  define EXTERN extern
#endif

EXTERN int i ;

/*--- test1.c (main file) -----------------------*/

#define MAIN

#include "test.h"

void main  (void) ;
void test2 (void) ;

void main(void)
  {
  i = 3 ;
  test2 () ;
  }

#undef  MAIN

/*--- test2.c -----------------------------------*/
#include "test.h"

int printf(const char *, ...);

void test2 (void)
  {
  printf("i is %d\n", i) ; 
  }
/*-----------------------------------------------*/



