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

网站开发采购合同模板下载新零售商城系统开发

网站开发采购合同模板下载,新零售商城系统开发,会简单的网站建设,wordpress页面显示文章列表使用库函数是源码的一种保护 库函数其实不是新鲜的东西,我们一直都在用,比如C库。我们执行pringf() 这个函数的时候,就是调用C库的函数. 下面记录静态库和动态库的生成和使用. 静态库:libxxx.a 动态库:libxxx.so 静态库: 在程序编译的时候,将库编译进可执行程序中, 运行的…

使用库函数是源码的一种保护

库函数其实不是新鲜的东西,我们一直都在用,比如C库。我们执行pringf() 这个函数的时候,就是调用C库的函数.

下面记录静态库和动态库的生成和使用.

静态库:libxxx.a

动态库:libxxx.so

静态库: 在程序编译的时候,将库编译进可执行程序中, 运行的时候不需要外部函数库

动态库: 在程序运行的时候,将库加载到程序中,运行的时候需要外部函数库

函数库的目录有 /lib 和 /usr/lib 和 自定义

一. 静态库的生成和使用

下面通过一个简单的小栗子来介绍库函数怎么生成和使用.

1.库函数的源码 hello.c

#include "stdio.h"int hello(void){printf("hello lib");  return 0;
}#include "stdio.h"int hello(void){printf("hello lib");  return 0;
}

2. 库函数的头文件 hello.h

#ifndef __HELLO_H
#define __HELLO_Hint hello(void);#endif

库文件的头文件是库文件的目录,因为库文件是保护的,看不到里面的源码,所以把函数接口通过头文件来让人调用 .这样就实现了接口,也保护了源码

3.编译静态库函数

3.1 将 hello.c 编译成目标文件 生成  hello.o文件

gcc -c hello.c

3.2 将.o文件打包成静态库 生成 libhello.a库文件

ar -cr libhello.a hello.o

4 使用静态库,因为静态库是在编译的时候一起打包进程序的,所以如果编译的时候没有静态库文件,则无法编译

4.1 main.c 写一个main函数来调用库函数

#include "hello.h"    //引入库函数的头文件,这样才能找到函数声明int main{hello();        //调用库函数}

正常编译的时候是没办法通过的. 因为编译器找不到 hello() 的实现代码. 如图:

在这里插入图片描述

所以在编译的时候要加入库引用

gcc -c main -L. -lhello -o a.out  

-L<路径> 引用自定义库的路径,如果调用系统库就不用-L '.'表示当前文件夹

-lxxxx 这里libhello.a 只要写hello 就可以   //小写的L

4.2 直接可以执行,因为库函数已经被编译进去了

在这里插入图片描述
二.动态库的编译及使用

同样的hello.c 源码

1.生成.o文件

gcc -c -fpic hello.c //如果这里没有加-fpic 下一步就会提示你重新用 -fpic编译
  1. 编译成动态库
gcc -shared -fpic -o libhello.so hello.o

-shared 是生成动态库

-fpic 生成位置无关代码,默认加

在这里插入图片描述

3. 使用动态库 和静态库一样

gcc main.c -L. -lhello -o a.out

4. 执行 用动态库编译的程序没办法直接执行

在这里插入图片描述

在读取共享库libhello.so的时候出错,没有找到该文件

因为动态库程序会默认在 /lib 或者 /usr/lib的路径下寻找, 所以

解决的办法有3个:

1. 将.so 文件拷贝到 /usr/lib/文件夹下面

2.添加PATH环境变量

export LD_LIBRARY_PATH=<动态库所在的绝对路径>

3.修改配置脚本

将动态库所在的路径加到 /etc/ld.so.conf 文件里

添加后刷新

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

相关文章:

  • 网站建设的功能定位网站隐私条款模板
  • 柳州网站河北软件开发网站建设
  • 珠海网站空间注册网站建设数据库的链接
  • 做网站制作赚钱吗方又圆网站建设
  • 彩票网站开发注意事情网页设计学什么软件
  • 电子商务网站的开发流程wordpress 主题没有样式
  • 重庆网站建设seo公司网站建设_网站设计 app制作
  • 专门做mod的网站wordpress打开网站前动画
  • 海口手机版网站建设永州公司网站建设
  • 长沙招聘信息最新招聘seo引擎优化是什么
  • 网站建设流程是什么php网站开发linux
  • 网站无法访问的原因购物网站建设 属于信息系统管理与设计么
  • 百度网站内容推广型网站建设电话
  • 邻水建设局网站做淘宝代码的网站
  • 范县网站建设费用网站建设公司的案例
  • 新手建站教程报价单网站建设 摄影服务
  • 如何做建材团购网站今天上海新闻综合新闻
  • 常州知名网站建设公司h5编辑器免费版
  • c 网站开发的好处广州番禺最新消息
  • 门户网站网站制作广州app开发公司排名
  • 南充个人急售二手房江苏网站优化建站
  • 网站建设合同标准版主机如何做网站空间
  • 小何自助建站自己做的网站转成二维码
  • 二手网站模板国家排污许可网站台账怎么做
  • 网站的创建历程怎么写网络平台推广的好处
  • 郑州公司建网站网站程序模板下载
  • 西安企业网站备案一般得多少天vi设计百科
  • 网站接入支付宝需要网站备案吗上海网站营销公司
  • 多用户商城网站建设方案来几个关键词兄弟们
  • 南京市建设中心网站如何用手机制作app课件