当前位置: 首页 > news >正文

30天网站建设实录 pdf优质院校建设网站

30天网站建设实录 pdf,优质院校建设网站,网站关键词怎么做,朝阳港网站建设方案一、什么是库? 库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。就是将源代码转化为二进制格式的源代码,相当于进行了加密,别人可以使用库,但是看不到库中的内容。 常见的库类型 共享库 静态库 动态库…

一、什么是库?

库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。就是将源代码转化为二进制格式的源代码,相当于进行了加密,别人可以使用库,但是看不到库中的内容。

常见的库类型

共享库 静态库 动态库

win32平台下,静态库通常后缀为.lib,动态库为.dll 。

linux平台下,静态库通常后缀为.a,动态库为.so 。

 

二、静态库 、动态库

所谓静态库,就是在静态编译时由编译器到指定目录寻找并且进行链接,一旦链接完成,最终的可执行程序中就包含了该库文件中的所有有用信息,包括代码段、数据段等。

相对于动态库,静态库的优点在于直接被链接进可执行程序中,之后,该可执行程序就不再依赖于运行环境的设置了(当然仍然会依赖于 CPU指令集和操作系统支持的可执行文件格式等硬性限制)。

所谓动态库,就是在应用程序运行时,由操作系统根据应用程序的请求,动态到指定目录下寻找并装载入内存中,同时需要进行地址重定向。

而动态库的优点在于,用户甚至可以在程序运行时随时替换该动态库,这就构成了动态插件系统的基础。具体使用静态库和动态库,由程序员根据需要自己决定。

另外,需要说明的一点是,从底层实现上,动态库的效率可能会比静态库稍差一点点,注意,这里用了“可能”二字,具体差不差,还得看写程序的人。之所以可能会差,主要原因在于,程序总无法直接调用动态库中的函数符号,而只能通过调用操作系统的runtime enviroment接口来动态载入某个函数符号,同时获得该函数符号在内存中的地址,将其保存为函数指针进行调用,这就在函数调用时增加了一次间接寻址的过程。

三、库的制作和使用

1、静态库的制作:  格式xxxx.a

生成xxx.o文件        gcc calcufuncs.c –c  

使用 ar 命令    xxx.o文件生成xxx.a静态库文件        ar rcs libcalcufunc.a calcufuncs.o  

静态库的使用

gcc calculator.c -lcalcufunc -L ./ -o mainProStatic

         -lcalcufunc  –l是指定要用的静态库,库名砍头去掉lib去尾去掉.a

         -L ./  告诉gcc编译器从-L指定的路径去找静态库,默认是从/usr/lib/usr/local/lib去找

2、动态库的制作              生成xxx.so文件

gcc -shared -fpic calcufuncs.c -o libcalc.so

-shared 指定生成动态库

-fpic  标准,用于编译阶段,在生成目标文件时就得使用该选项。以生成位置无关的代码

动态库的使用

gcc calculator.c -lcalc -L ./ -o mainProDy

  动态库优先从当前路径去找,没找到的话再去 /usr/lib/ 下去找通常动态库拷贝到 /usr/lib/ 下即可:

sudo cp libcalc.so /usr/lib/                

动态库无法加载(引用动态库,怎么指定动态库的位置):

临时设置:在终端进行:export LD_LIBRARY_PATH=“动态库的路径”

带动态库的程序(可以指定该程序运行时候,在LD_LIBRARY_PATH所指定的路径去找库文件)

或者利用脚本

vi start.sh     //创建一个.sh文件

export LD_LIBRARY_PATH="/home/pi/test//动态库的路径"

./mianPrody   //所要执行的程序名称

//在文件夹中输入以上内容

 chmod +x start.sh     //给脚本加可执行的的权限

./start.sh                     //执行该脚本

./mainProDy(用shell脚本运行,脚本需要加权限 chmod +x xxx

http://www.yayakq.cn/news/725322/

相关文章:

  • app制作简易网站wordpress 卸载插件
  • 网站建设费用明细工业设计官网
  • 大型门户网站建设所具有的功能模块主要有当阳网站建设电话
  • 校园网站建设的需求分析亚马逊关键词搜索器
  • 网站域名管理服装设计师有前途吗
  • 苏州网站建设完整用备案的网站做违法网站
  • 医疗网站模版以网站做跳板入侵
  • 哈尔滨中国建设银行网站首页nginx wordpress.conf
  • 网站建设添加汉语网页设计实验报告格式模板
  • 崇明专业网站建设海外营销是干什么的
  • 政务网站建设发言材料wordpress页脚菜单
  • 网站开发制作费入会计科目企业信息管理平台
  • 站长工具查询网淘宝网站推广
  • 建网站先要申请网址吗免费网站域名注册个人
  • 怎样免费建一个网站wordpress微信h5支付宝
  • 手机百度收录网站吗免费咨询劳动仲裁
  • 哈尔滨建设网站哪家好自己做图片的网站吗
  • 福州仿站定制模板建站wordpress的新建页面功能
  • 微信做单页的网站临沂电商网站建设
  • 优秀网站下载西安房产网
  • 黄山网站建设怎么做企业信息在线查询
  • 石家庄 外贸网站建设外贸网络营销如何做
  • 实时爬虫网站是怎么做的烟台制作网站有哪些
  • 美橙网站建设怎么做营口大石桥网站建设
  • 商城网站开发网做冰饮视频网站
  • 浅谈企业网站建设的目标佛山搭建建网站哪家好
  • 金融网站织梦模板免费下载网络营销模式包括
  • 网站开发定做网站设计与网页制作招聘
  • 怎么做网站首页弹幕管理员后台管理系统
  • 网站 title 被修改app制作教程课