linux编程学习5-编写静态库

用一个例子来阐述,打印函数print_a的实现在print_a.cpp文件中,打印函数print_b的实现在print_b.cpp中,那么要想把print_a和print_b函数编成静态库libprint.a,供自己或者其他使用者调用,应该按照以下步骤操作生成静态库libprint.a

1.将以下代码保存在print_a.cpp中

#include <stdio.h>

void print_a(const char *ch) {
    printf("a:%s\n", ch);
}


2.将以下代码保存在print_b.cpp中

#include <stdio.h>

void print_b(const char *ch) {
    printf("b:%s\n", ch);
}


3.执行g++ -c print_a.cpp print_b.cpp命令,生成print_a.o和print_b.o目标文件


4.执行ar crv libprint.a print_a.o print_b.o,将print_a.o和print_b.o这两个目标文件归并到libprint.a文件中

5.将print_a和print_b函数的声明保存在print.h头文件中

#ifndef PRINT_H
#define PRINT_H

void print_a(const char *ch);
void print_b(const char *ch);

#endif //PRINT_H

6.程序或者其它模块只需要引用print.h文件,即可调用到print_a.cpp和print_b.cpp文件中实现的print_a和print_b函数了

test.cpp的源码如下:

#include "print.h"

int main(int argc, char *argv[]) {
    print_a("hello lib");

    return 0;
}
执行g++ -o test test.cpp libprint.a 编译,链接,生成可执行文件test,并执行如下


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值