C语言—动态库建立
来源:互联网 发布:淘宝的评价管理在哪里 编辑:程序博客网 时间:2024/06/08 06:26
一. 动态库的书写
头文件test.h:
#ifdef TEST_H#define TEST_H
#include <stdio.h>
#include <stdlib.h>
int add(int a, int b);
int Less(int a ,int b);
#endif
实现文件test.c:
#include "test.h"
int add(int a,int b){
return a+b;
}
int Less(int a,int b){
return a-b;
}
二、编译动态库
gcc tes.c -fPIC -shared -o libtest.so //如果有多个.c 文件,就把所有的.c文件进行编译
隐式链接(编译时链接)
使用gcc main.c -L. -ltest -o test进行编译。
-L:添加库文件的搜索路径
-l:指定需要链接的库。该名称是处在头lib和后缀.so中的名称,如上动态库libtest.so的l参数为-l test
在执行隐式链接的程序之前要注意设置LD_LIBRARY_PATH环境变量,或者把前面生成的libtest.so复制到系统路径下,否则会找不到动态库。
$ ./test
./test: error while loading shared libraries: libtest.so: cannot open shared object file: No such file or directory
$ export LD_LIBRARY_PATH=.
$ ./test
或者把编译好的动态库放到/usr/lib 中去
1 0
- C语言—动态库建立
- 建立C语言动态链接库
- C语言 之建立动态链接库
- C语言建立动态数组
- C语言建立动态数组
- C语言建立动态数组
- C语言动态封装库的建立和使用
- C语言:建立动态链表
- C语言动态数组建立方法
- 使用标准C语言建立动态随机数组
- 【C语言】建立动态链表并输出链表
- C语言 之建立静态链接库
- c语言生成动态库
- c语言生成动态库
- C语言:动态链表的建立,查找,删除,插入功能的实现
- 【C语言】动态链表建立工人档案,并输出结果
- C语言_动态链表的简单建立与节点删除
- c语言-单链表的建立
- 单链表的建立、插入、读取操作
- SurfaceFlinger sequence diagram
- android webview H5开发若干问题之问题一:webview文件上传问题
- Jmeter 相关元祖参数
- js的new运算符做了哪些事情
- C语言—动态库建立
- ARM平台基于嵌入式Linux部署ROS
- 机器学习中分类评估方法简介 - 1
- 定时器SetTimer如何使用在win32控制台应用程序中(2)
- mac下搭建svn服务器
- 重大喜讯,AppStore审核变快啦!真的有可能24小时内出结果
- Android DataBinding
- unicode和utf-8之间的关系
- 求购ODA源码 拿来学习,谢谢