静态库文件一般是a为后缀,如libxxx.a。实际上是把全部o文件打包。

其实只用到了2句话:

gcc -c src.c

ar r libxxx.a src.o

 

提供下makefile参考:

  1. CFLAGS := -g -Wall  
  2. CC := arm-linux-gcc  
  3. CSRCS := bbb.c  
  4. COBJS := bbb.o  
  5. INCDIR := /home/arm/linux-2.6.24.7/include  
  6. TARGET := libxxx.a  
  7. all:  
  8.     $(CC) -c $(CSRCS) $(CFLAGS) -I$(INCDIR)  
  9.     ar r $(TARGET) $(COBJS)  
  10. clean:  
  11.     rm -rf *.o $(TARGET) 

例外注意:

库的源文件是没有main()函数的。而且如果要使用系统函数的话,一定要包含相应的头文件,这一点和有main()的应用程序不一样。

例如,打开设备,open,close。如果没有包含unistd.h和fcntl.h,那么就会出现警告,提示该函数没有实现。

 

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐