printf("main end!\n");
return 0;
}
后在gcc中运行
gcc -c main.c
gcc -c a.c
gcc -o main main.o a.o
结果显示:
a.o: In function `print_str':
a.c:(.text+0x0): multiple definition of `print_str'
main.o:main.c:(.text+0x0): first defined here
collect2: ld returned 1 exit status
为什么会多次定义????[]
void print_str(char *str)
{
printf("%s\n", str);
return ;
}
放.c里,否则main.c和a.c都定义了同一个函数。