linux生成(加载)动态库静态库和加载示例方法
发布时间:2023-08-06 14:49:59
标签:linux,生成动态库,静态库
动态库的生成:
1、/*mysum.c*/
#include <stdio.h>
#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 <stdio.h>
extern int sum(int a,int b);
/*
#include <stdio.h>
#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 //生成动态库文件,默认的命名方式为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


猜你喜欢
- SEO并不是简单的几个秘诀或几个建议,而是一项需要足够耐心和细致的脑力劳动。大体上,SEO包括六个环节。1、关键词分析(也叫关键词定位)这是
- 一年之内,先是搜狐分拆旗下的游戏业务——畅游公司上市,继而盛大网络也将旗下的游戏&mdash
- 经常有朋友加我Q,说他们上班的辛苦,但待遇不好,福利不行等等,问能不能带他们做网络,不上班了,每天轻轻松松赚钱,多惬意!对大多数朋友我都没有
- 邮件服务器的配置同样是企业网络管理中经常要进行的任务之一。与Web网站、FTP站点服务器一样,邮件服务器的配置方案也非常之多,但对于中小型企
- 3月24日凌晨消息,阿里巴巴网络有限公司(1688.HK)CEO卫哲近日承认,在数月之内,阿里巴巴将有一个战略性的项目面世。据悉,该项目或与
- 早在9月份Google刚刚为XP、Vista系统IE用户发布Chrome Frame插件的时候,微软就建议用户不要安装这个插件,认为它会IE
- VPN(Virtual Private Network,虚拟专用网络)是专用网络的延伸,它可以通过共享Internet或公共网络连接模拟点对
- Google广告管理系统是一套在线广告管理系统,可以帮助广大网站主全面提高网站广告收益。通过这个系统,网站可以很方便的管理和投放网站广告,包
- Tomcat服务器是一个免费的开放源代码的Web应用服务器。因为Tomcat技术先进、性能稳定且免费,所以深受Java爱好者的喜爱并得到了部
- 在即将开始测试UCenter Home 2.0中,针对1.5版本新增了六大互动新特性,使得新版本拥有更强的互动性。在此特别提前为大家做一下表
- 综合化数字媒体与家庭娱乐软件方案Nero今天发布了新版本“Nero 9 Reloaded”,全面兼容
- 根据对一些站长的最新调查显示,百度收录新网站的大约时间是2周。也就是说,新站做好了,需要等2周时间才能在百度收录。只有很少一部分幸运的站长,
- 就是这个表情框。我的解决办法是,首先禁止弹出表情选择框,然后替换默认表情为“题”字。效果如图演示网站http://www.cmbro.com
- 核心提示:用 Analytics 分析用户在站内的搜索行为,很简单但数据的参考作用较大。这次在石互动2008上海SEO大会上讲到通过“分析用
- 中国互联网协会公布的2008年一季度中国反垃圾邮件调查结果显示,商业广告类是侵扰用户的垃圾邮件的主要来源;在用户最讨厌的垃圾邮件中,病毒型垃
- 相信对信息化程度要求较高的企业,几乎无一例外地会架设Web服务器,来向世界发布信息、展示自我。为了让Web服务器方便每一位浏览者访问,网络管
- 北京时间10月30日消息,据国外媒体报道,美国数字媒体公司RealNetworks周四发布了第三季度财报。财报显示,受削减支出抵消了音乐和游
- META标签是HTML语言head区的一个辅助性标签,它用来描述一个HTML网页文档的属性,例如作者、日期和时间、网页描述、关键词、页面刷新
- Exchange 2000具有创造多种存储群组的能力,其中包括各种邮箱或公共文件夹存储。不幸的是,为弥补存储器碎片问题,要更好地持续利用Ex
- SQL注入式攻击是利用是指利用设计上的漏洞,在目标服务器上运行Sql命令以及进行其他方式的攻击 。动态生成Sql命令时没有对用户输入的数据进