1.可执行文件编写
2.编写自己的makefile。
如果编写了一个简单函数 float_sum.c 实现浮点数相加,int_sum.c实现整型相加,并在主函数main中去实例化。源代码放入src文档
并编写myhead.h头文件放入include 文档
Makefile 文件和src,include放在同一个文件档中。
Makefile编写:
vpath %.c = ./src
vpath %.h = ./include
CFLAGS = -Wall -g -O0 -v
CC = gcc
OBJS = int_sum.o float_sum.o
SOURCES = ./src/int_sum.c ./src/float_sum.c
SO_FLAGS = -shared -fpic
AR_FLAGS = -Wall -c
main:main.c
### if /lib/libsum.so and /usr/lib/libsum.a co-exist, static library first ###
$(CC) $(CFLAGS) -o $@ $< -lsum
### install share object ###
installso:$(OBJS)
$(CC) $(SO_FLAGS) -o ./lib/libsum.so $(SOURCES)
sudo cp ./lib/libsum.so /lib
rm -rf *.o
uninstallso:
sudo rm -rf /lib/libsum.so
-rm -rf ./lib/libsum.so main
### install static library ###
installa:
$(CC) $(AR_FLAGS) -o int_sum.o ./src/int_sum.c
$(CC) $(AR_FLAGS) -o float_sum.o ./src/float_sum.c
ar -rc ./lib/libsum.a $(OBJS)
sudo cp ./lib/libsum.a /usr/lib
sudo cp ./include/myhead.h /usr/include
rm -rf *.o
uninstalla:
sudo rm -rf /usr/lib/libsum.a
-rm -rf ./lib/libsum.a main
clean:
rm main *.o -rf
make installa ,函数自动生成静态库文件别添加到默认库路径中
make installso,函数自动生成动态库文件别添加到默认库路径中