台式电脑

电脑怎么样开发软件库文件(Linux系统编程-库文件和makefile)

1,主函数传参时,需要在各个参数之间加空格2,动态库制作步骤:1:准备文件2:对源文件只编译不链接(gcchello.c-fPIC-c-ohello.o)3:打包文件(gcc*.o-shared-olibdny.so)4:编译验证(gccmain.c-omain-ldny-L./)5:将库文件复制到/lib和/usr/lib中;6:执行库文件测试或者一步到位:直接将源文件编译为库文件(gcchello.c-fPIC-shared-olibmyhello.so)gcc参数解析:-fPIC(或-fpic):表示编译为位置独立的代码。位置独立的代码即位置无关代码,在可执行程序加载的时候可以存放在内存内的任何位置。若不使用该选项则编译后的代码是位置相关的代码,在可执行程序加载时是通过代码拷贝的方式来满足不同的进程的需要,没有实现真正意义上的位置共享。-shared:指定生成动态链接库3,makefile的使用:格式:目标:依赖(需要什么来生成该目标)指令(生成该目标的命令)注意:可以定义变量,使用$取将变量的值,带入时展开#在makefile中可以通过$@表示目标,通过$^表示依赖“%.o:%.c”百分号作为通配符使用;eg.DEPEND=libstatic.aTARGET=mainCFLAG=-cFLAG=-oCC=gccAR=arOPTION=-rc#取变量的值$(变量名)$(TARGET):$(DEPEND)$(TARGET).c$(CC)$(TARGET).c$(FLAG)$(TARGET)-lstatic-L./$(DEPEND):add.osub.omul.odiv.osel.o$(AR)$(OPTION)$@$^#在makefile中可以通过$@表示目标,通过$^表示依赖%.o:%.c$(CC)$(CFLAG)$^$(FLAG)$@clean:rm*.olibstatic.amain

电脑怎么样开发软件库文件(Linux系统编程-库文件和makefile)

相关新闻

返回顶部