1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
/* frmwrk.c
Generic Framework for testing.
*/
#include "ed/inc/sysalloc.h"
#include "ed/inc/sys.h"
#include <stdio.h>
/* external user function */
int main_ (int argc, char *argv[]);
/* macros ============================================================== */
#define MODULE "FRMWRK."
#define OUT "out.txt"
#define ERR "err.txt"
/* constants =========================================================== */
/* types =============================================================== */
/* structures ========================================================== */
/* private variables =================================================== */
/* private functions =================================================== */
/* ---------------------------------------------------------------------
--------------------------------------------------------------------- */
static void onexit (void)
{
sys_mem_trace ();
STACK_PRINT ();
printf (MODULE "Termine\n");
#if defined (__BORLANDC__)
#elif defined (MINGWS)
#elif defined (CODEBLOCKS)
#elif defined (linux)
#else
system ("pause");
#endif
}
/* ---------------------------------------------------------------------
--------------------------------------------------------------------- */
static int is_opt (char const *sopt, int argc, char **argv)
{
int ok = 0;
int i;
for (i = 1; !ok && i < argc; i++)
{
if (strcmp (sopt, argv[i]) == 0)
{
ok = 1;
}
}
return ok;
}
/* entry points ======================================================== */
/* ---------------------------------------------------------------------
--------------------------------------------------------------------- */
int main (int argc, char *argv[])
{
STACK_INIT ();
STACK_CHK ();
{
static char Trace[1 << 11];
int trace = TRACE_OFF;
puts("Usage xxx[ /T][ /E][ /O][ <options application>]");
if (argc > 1)
{
if (is_opt ("/T", argc, argv))
{
trace = TRACE_ON;
argc --;
argv ++;
}
if (is_opt ("/E", argc, argv))
{
freopen (ERR, "w", stderr);
fprintf (stderr, "stderr trace start\n");
argc --;
argv ++;
}
if (is_opt ("/O", argc, argv))
{
freopen (OUT, "w", stdout);
printf ("trace start\n");
argc --;
argv ++;
}
}
#ifdef DBG_SYSALLOC
#ifdef __BORLANDC__
printf (MODULE "DBG_SYSALLOC is defined\n");
#elif __GNUC__
printf (MODULE "DBG_SYSALLOC=%d\n", DBG_SYSALLOC);
#else
#error undefined for this platform
#endif
#else
printf (MODULE "DBG_SYSALLOC is not defined\n");
#endif
atexit (onexit);
sys_mem_init (Trace, sizeof Trace, trace, NULL);
main_ (argc, argv);
}
return 0;
} |
Partager