c 数据库框架:
main.c
#include
<
errno.h
>
#include < math.h >
#include < stdio.h >
#include < stdlib.h >
#include < string .h >
#include " config.h "
/*
* === FUNCTION ======================================================================
* Name: main
* Description: main function
* =====================================================================================
*/
int
main ( int argc, char * argv[] )
{
start_CONFIG();
fuck_A();
printf ( " \nProgram %s\n\n " , argv[ 0 ] );
free_CONFIG();
return EXIT_SUCCESS;
} /* ---------- end of function main ---------- */
#include < math.h >
#include < stdio.h >
#include < stdlib.h >
#include < string .h >
#include " config.h "
/*
* === FUNCTION ======================================================================
* Name: main
* Description: main function
* =====================================================================================
*/
int
main ( int argc, char * argv[] )
{
start_CONFIG();
fuck_A();
printf ( " \nProgram %s\n\n " , argv[ 0 ] );
free_CONFIG();
return EXIT_SUCCESS;
} /* ---------- end of function main ---------- */
a.h
#ifndef _A_H
#define _A_H
typedef struct _Stu_A Stu_A;
#include " b.h "
struct _Stu_A
{
char * p_ch_test;
Stu_B * p_stu_B;
};
void
fuck_A ( );
/* -----------------------------------------------------------------------------
* \brief 改变G->n_test值
* \param[in]
* \param[out] G->n_test
* \return
* \free
*----------------------------------------------------------------------------- */
#endif
#define _A_H
typedef struct _Stu_A Stu_A;
#include " b.h "
struct _Stu_A
{
char * p_ch_test;
Stu_B * p_stu_B;
};
void
fuck_A ( );
/* -----------------------------------------------------------------------------
* \brief 改变G->n_test值
* \param[in]
* \param[out] G->n_test
* \return
* \free
*----------------------------------------------------------------------------- */
#endif
a.c
#include
<
stdio.h
>
#include " config.h "
#include " a.h "
extern G_CONFIG * G;
void
fuck_A ( )
{
printf( " %s\n " , G -> p_ch_test);
return ;
} /* ----- end of function fuck_a ----- */
#include " config.h "
#include " a.h "
extern G_CONFIG * G;
void
fuck_A ( )
{
printf( " %s\n " , G -> p_ch_test);
return ;
} /* ----- end of function fuck_a ----- */
b.h
#ifndef _B_H
#define _B_H
typedef struct _Stu_B Stu_B;
#include " a.h "
struct _Stu_B
{
char * p_ch_test;
Stu_A * p_stu_A;
};
void
fuck_B ( );
#endif
#define _B_H
typedef struct _Stu_B Stu_B;
#include " a.h "
struct _Stu_B
{
char * p_ch_test;
Stu_A * p_stu_A;
};
void
fuck_B ( );
#endif
b.c
#include
<
stdio.h
>
#include " config.h "
#include " b.h "
extern G_CONFIG * G;
void
fuck_B ( )
{
printf( " %d " , G -> n_test);
return ;
} /* ----- end of function fuck ----- */
#include " config.h "
#include " b.h "
extern G_CONFIG * G;
void
fuck_B ( )
{
printf( " %d " , G -> n_test);
return ;
} /* ----- end of function fuck ----- */
Makefile
all: main
main: main.c config.h config.c b.c b.h a.h a.c
gcc - g - Wall - O0 - o main main.c b.c a.c config.c
main: main.c config.h config.c b.c b.h a.h a.c
gcc - g - Wall - O0 - o main main.c b.c a.c config.c