home.c
#include <stdio.h>
#include "hf.h"
int main(void)
{
printf("What's your name?\n");
printf("My name is %s\n",NAME);
printStar(5);
return 0;
}
hf.h
#define NAME "Jeremy Ming"
void printStar(int n);
realize.c
#include <stdio.h>
#include "hf.h"
void printStar(int n)
{
int i,j;
for(i = 0;i < n;i++)
{
for(j = 0;j <= i;j++)
{
printf("※");
}
printf("\n");
}
}
编译指令是人手写的么?链接时把 realize.o 也要带上
看看 Makefile 有木有把 realize.o 也包括
/Users/kazuya/Documents/c
$ gcc -c home.c
/Users/kazuya/Documents/c
$ gcc -c realize.c
/Users/kazuya/Documents/c
$ ls -l
total 40
-rw-r--r-- 1 kazuya staff 23 Aug 29 09:18 hf.h
-rw-r--r-- 1 kazuya staff 81 Aug 29 09:18 home.c
-rw-r--r-- 1 kazuya staff 676 Aug 29 09:19 home.o
-rw-r--r-- 1 kazuya staff 81 Aug 29 09:19 realize.c
-rw-r--r-- 1 kazuya staff 764 Aug 29 09:20 realize.o
/Users/kazuya/Documents/c
$ gcc -o home home.o realize.o
/Users/kazuya/Documents/c
$ ./home
***