- 论坛徽章:
- 0
|
我建了两个程序,hello.c main.c ,,当修改hello.c内容时,改变main内容
hello.c准备作为一个动态库,原型见下面
#include "stdio.h"
#include "hello.h"
void hello(void)
{
int i;
for(i=0;i<10;i++)
printf("hello");
printf("\n");
}
mian做为主函数,调用上面的库
#include "stdio.h"
#include "hello.h"
main()
{hello();
return 0;
}
头文件hello.h
#ifndef HELLO_H
#define HELLO_H
void hello(void);
#endif]
makefile文件
main:main.c libhello.so hello.h
gcc -o main main.c -L. -lhello
libhello.so:hello.o
gcc -shared -o -Wall libhello.so hello.o
hello.o:hello.c hello.h
gcc -fpic -Wall -c hello.c
然后用gcc命令
gcc -fpic -Wall -c hello.c
gcc -shared -o -Wall libhello.so hello.o
gcc -o main main.c -L. -lhello
生成main执行程序并能成功打印出hello.
问题:修改hello.c 把打印hello 变为good
再执行make main
执行./main
终端里显示执行了gcc -shared -o -Wall libhello.so hello.o
gcc -o main main.c -L. -lhello这两个命令,但gcc -fpic -Wall -c hello.c没执行,为什么?
打印出的结果还是hello,什么原因? |
|