环境:Vmware Workstation;CentOS-6.4-x86_64
说明:
1、共享库so文件名必须以lib开头,扩展名必须是.so(硬性规定):lib***.so
2、编译的时候,gcc必须加-fPIC选项,目的是使gcc产生与位置无关的代码。
3、链接的时候,gcc要使用-shared选项,作用是指示生成一个共享库文件。
makefile文件的形式如下:
.SUFFIXES:.c .o
CC=gcc
SRCS=myso.c
OBJS=$(SRCS:.c=.o)
EXEC=libmyso.so
start: $(OBJS)
$(CC) -shared -o $(EXEC) $(OBJS)
@echo "-----------------------------OK-----------------------"
.c.o:
$(CC) -fPIC -Wall -o $@ -c $<
clean:
rm -rf $(EXEC) $(OBJS)
PS:根据传智播客视频学习整理得出。