C语言制作编译动态链接库

最近做项目的时候,需要跟人工智能组对接应用接口,要把写好的C函数给Python代码调用,所以打算把写好的代码制作成动态库,给他们直接import,随手记录一点相关知识

1.概念

程序的函数库一般就是:静态函数库、共享函数库以及动态加载函数库

函数库一般来说编译集成了一系列我们要使用的接口(函数),程序源代码编译完成之后有一个链接环节,会通过链接器与使用到的函数库进行链接。

静态函数库的话,事实上就是在程序在链接时整个库会一起编译进目标文件中,而动态函数库则不会,只是编译进去一个链接(符号),这种有点类似硬链接和软链接的区别。这种区别导致编译出来的目标文件的大小有明显差别。

静态函数库在linux下的后缀一般为 .a,动态函数库的后缀一般为.so。

linux下动态函数库(共享库)的命名规则:

2.例程

我们编写一下例程做一下简单记录

我们需要编写一下mytest.c,mytest.h,Makefile(习惯了嵌入式开发,所以还是习惯性编写一下Makefile,简化一下编译流程)

//mytest.h

#ifndef MY_TEST_H
#define MY_TEST_H

void Mytest();
#endif
//mytest.c

#inc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值