linux生成(加载)动态库静态库和加载示例方法
发布时间:2022-10-05 11:41:03 所属栏目:Linux 来源:
导读: 这篇文章主要介绍了linux生成(加载)动态库静态库示例方法,大家参考使用
动态库的生成:
1、/*mysum.c*/
复制代码 代码如下:
#include
#include "src.h"
int
动态库的生成:
1、/*mysum.c*/
复制代码 代码如下:
#include
#include "src.h"
int
|
这篇文章主要介绍了linux生成(加载)动态库静态库示例方法,大家参考使用 动态库的生成: 1、/*mysum.c*/ 复制代码 代码如下: #include #include "src.h" int sum(int a,int b) { return (a+b); } 2、/*mysum.h*/ 复制代码 代码如下: #ifndef __SRC_H__ #define __SRC_H__ int sum(int a,int b); #endif 3、/*main.c*/ 复制代码 代码如下: #include extern int sum(int a,int b); /* #include #include "mysum.h" */ int main() { int a,b,c=0; printf("input a and b:\n"); scanf("%d %d",&a,&b); c = sum(a,b); printf("c = %d\n",c); return 0; } 4、生成动态库 复制代码 代码如下: gcc -c -fPIC mysum.c mysum.h //生成mysum.o文件 gcc -shared -fPIC -o libmysum.so mysum.o //生成动态库文件linux动态库,默认的命名方式为lib+名称.so 5、动态库静态加载 复制代码 代码如下: gcc -o main main.c -L. -lmysum -Wall 或 gcc -o main main.c -lmysum -Wall 6、执行 ./main时会报告错误,提示无法加载libmysum.so共享库。 7、处理方法有三: 方法一: 将动态库拷贝到 /lib或 /usr/lib中去 如:sudo cp libmysum.so /lib 方法二: 改变环境变量: LD_LIBRARY_PATH=$PWD export LD_LIBRARY_PATH 方法三: 在编译时指定共享库的路径: gcc -o main1 -Wl,-rpath,.-L. -louyang main.o (编辑:我爱资讯网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐


