Linux系统下静态库制作及使用

来源:互联网 发布:php 设置北京时区 编辑:程序博客网 时间:2024/06/06 01:00

1、创建静态库。

创建静态库的过程比较简单,主要是使用ar命令。

(1)生成目标文件。

见源码


(2)ar命令创建静态库。

见源码


2、使用静态库。

使用静态库有两种方式。将库文件加入到库搜索路径中或拷贝到当前目录。源码中两种方式均有说明。见源码。


源文件结构如下:

.
├── main.c
├── Makefile
├── print_hello.c
└── print_hello.h

main.c 为测试程序源码

print_hello.*为库头文件和实现文件


各文件内容如下:


main.c文件



#include "print_hello.h"

int main(int argc,char **argv)
{
    print_hello();
    return 0;
}


print_hello.c文件

#include "print_hello.h"

void print_hello()
{
    printf("Hello\n");
}


print_hello.h文件

#ifndef MY_PRINT_HELLO_H
#define MY_PRINT_HELLO_H

#include <stdio.h>

void print_hello();

#endif

Makefile文件



CC=gcc
AR=ar

#这是将库文件路径加入到库搜索路径的方式
#main:main.c libprint_hello.a
#    $(CC) -o main main.c -L. -lprint_hello

#也可以使用以下语句编译测试程序

#这是拷贝到当前目录下的编译方式
main:main.c libprint_hello.a
    $(CC) -o main main.c libprint_hello.a
    

libprint_hello.a:print_hello.o
    $(AR) -rc libprint_hello.a print_hello.o

print_hello.o:
    $(CC) -c print_hello.c

clean:
    rm -rf *~
    rm -rf *.o *.a main








原创粉丝点击