先建立以下实例程序文本:
/**************************filename:main.c**************************/
#include
#include
#include "hello.h"
#include "init.h"
void aftermain(void)
{
printf("\n");
printf("<<<<<<
printf("..............\n");
return 0;
}
int main(int argc,char *argv[])
{
printf("========main=======\n");
init(1234);
hello(argc,argv);
atexit(aftermain);
printf(".....exit main......\n");
return 0;
}
/**********************filename:init.c***************************/
#include
#include "init.h"
const char ro_data[1024]={"This is readonly data"};
static char rw_data[1024]={"This is readwrite data"};
static char bss_data[1024];
int init(int number)
{
printf("input number:%d\n",number);
printf("ro_data:%x,%s\n",(unsigned int)ro_data,ro_data);
printf("rw_data:%x,%s\n",(unsigned int)rw_data,rw_data);
printf("bss_data:%x,%s\n",(unsigned int)bss_data,bss_data);
return number;
}
/*******************filename:hello.c********************/
#include
#include "hello.h"
int hello(int argc,char *argv[])
{
int i;
printf("Hello world!\n");
for(i=0;i { printf("argv[%d]=%s\n",i,argv[i]); } return 0; } /****************filename:init.h*************************/ #ifndef _INIT_H_ #define _INIT_H_ /*********************filename:hello.c*********************/ #ifndef _HELLO_H_ #define _HELLO_H_ 由依赖关系可以知道: All: main.o hello.o init.o Main.o: main.c hello.h init.h Hello.o:hello.c hello.h Init.o init.h init.c Vi makefile1 即建立makefile1的文本文件 all: main.o hello.o init.o gcc -o myapp main.o hello.o init.o gcc -c main.c hello.o: hello.c hello.h gcc -c hello.c init.o: init.c init.h gcc -c init.c 注意: 以“:”结尾的后面跟的是tab制表符,而不是空格 在终端输入 make –f makefile 即编译成功 Make文件中的注释以#开头
int init(int number);
#endif
int hello(int argv,char *argc[]);
#endif
建立终端,在终端输入
main.o: main.c hello.h init.h