1、创建静态库的过程:
1)写源程序
math.c view.c
2)编译源程序
gcc -c math.c ==> math.o
gcc -c view.c ==> view.o
3)创建静态库文件
ar -r libmyku.a math.o view.o
2、使用静态库文件
1)写程序,调用库中的函数
testku.c
2)编译
gcc -c testku.c ==> testku.o
3)连接
第一种方式:
gcc testku.o libmyku.a ==> a.out
第二种方式:
gcc testku.o -l myku ==> a.out
依赖环境变量LIBRARY_PATH
连接过程:将库名myku变成文件名libmyku.a,然后在LIBRARY_PATH环境变量指定的路径找到文件libmyku.a,最后进行连接。
第三种方式:
gcc testku.o -l myku -L .
不需要依赖环境变量LIBRARY_PATH,用-L指定查找库文件的路径
3、创建共享库
1)写源程序
math.h math.c view.c
2)编译源程序
gcc -c -fpic math.c ==> math.o
gcc -c -fpic view.c ==> view.o
3)连接并生成共享库文件
gcc -shared math.o view.o -olibmysku.so ==>libmysku.so
4、使用共享库
1)写使用程序
testku.c
2)编译
gcc -c testku.c
3)连接
gcc testku.o -lmysku -L. ==> a.out
4)运行
a.out
依赖环境变量LD_LIBRARY_PATH
a.out在运行期间调用库中的函数时,需要先找到共享库文件,查找库文件的方式是搜索LD_LIBRARY_PATH指定的路径
project
src
bin
lib
doc
练习:
写几个函数(考虑打印菱形,一个打印空心,一个打印实心),将这此函数做成静态库文件,并调用它,再做成共享库文件,并调用它。
分享到:
相关推荐
cuda 编译成静态文件nvcc -lib test1.cu -o libtestcu.a。
Saber仿真模型共享---uc3844仿真模型Saber仿真模型共享---uc3844仿真模型Saber仿真模型共享---uc3844仿真模型
UC/GUI图形库,详细讲解了UC/GUI库函数使用,注意事项UCGUI3.90版源码有如下几点新的变化. 1.这个版本的UCGUI提供了模拟器的源码 2.还有JPEG图版支持 3.ListView控件支持等等;
UC7.1UC7.1UC7.1UC7.1UC7.1UC7.1UC7.1
库存管理用例描述编号UC 12创建人崔浩创建时间2015/9/29最后一次修改者崔浩最后一次修改时间2015/9/30参与者仓库管理人员触发条件仓库管理人员需要
UC2845的应用和PWM变压器设计
联想 UC10 UC20 驱动
python库,解压后可用。 资源全名:rl4uc_pwdemars-0.0.1-py3.8.egg
《嵌入式实时系统uc/osII》邵贝贝译里边带的光盘,特地拿来分享
华为认证HCNA-UC统一通信(H11-811)题库 华为认证HCNA-UC统一通信(H11-811)题库 2018-11-22上传
HCNA--UC (Huawei Certified Network Associate-Unified Communication)华为统一通信认证
UC源代码 交流学习请大家多多关注啊。android Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发
UC2843模块是一款高性能的电源电流模式控制芯片,主要为为电源电流提供多种模式的选择。UCx84x系列控制集成电路提供了离线或DC-to-DC固定频率电流模式控制方案所必需的功能,外部组件的数量最少。内部实现的电路包括...
UC3842A UC3843A 是高性能固定频率电流模式控制器专为离线和直流至直流变换器应用而设计,为设计人员提供只需最少外部元件就能获得成本效益高的解决方案。这些集成电路具有可微调的振荡器、能进行精确的占空比控制、...
uc模板uc模板uc模板uc模板uc模板
pcb元件库和封装库,protel99以上都可以兼容,希望对大家有用。
UC系统安全管理UC系统安全管理UC系统安全管理UC系统安全管理UC系统安全管理UC系统安全管理UC系统安全管理UC系统安全管理
UC1608驱动程序UC1608驱动程序UC1608驱动程序
静态网页模板+css文件。关于商务网站的静态网页模板。