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

广东万高建设网站rp如何做网站

广东万高建设网站,rp如何做网站,说说网站建设百度收录减少问题,最佳配色网站文章目录 FILE SYSTEM软硬链接 动静态库 使用别人提供的库 FILE SYSTEM 文件的管理工作: 1.基础知识: 文件 属性 内容不是所有文件都会打开所有的打开的,未打开的文件会进行管理未打开文件,要能做到快速定位文件磁盘–物理存…

文章目录

      • FILE SYSTEM
          • 软硬链接
      • 动静态库
    • 使用别人提供的库

FILE SYSTEM

  • 文件的管理工作:
      1.基础知识:
    • 文件 = 属性 + 内容
    • 不是所有文件都会打开
    • 所有的打开的,未打开的文件会进行管理
    • 未打开文件,要能做到快速定位文件
    • 磁盘–物理存储结构
       机械磁盘定位是CHS定位法
    • 逻辑抽象–逻辑存储结构 抽象成线性结构,变成对数组的增删查改
    • 访问磁盘是一块一块(块级别的IO)的访问
        2.文件系统格式化:格式化成对应的初始化管理磁盘的状态
        3.磁盘的文件管理是磁盘的分区管理
    • 一般是分区管理;
Boot blockerBlock group 0Block group …Block group n
一般是存储BIOS等最初始启动系统的程序后面的这些块就是正常存储

Block group

Super BlockGroup Descriptor TableBlock Bitmapinode Bitmapinode TableData Block
存放文件系统本身的结构信息。记录的信息主要有:block 和 inode的总量,未使用的block和inode的数量,一个block和inode的大小,最近一次挂载的时间,最近一次写入数据的时间,最近一次检验磁盘的时间等其他文件系统的相关信息。Super Block的信息被破坏,可以说整个文件系统结构就被破坏了对,每个 Block group 存有进入信息,切包含了相关信息块位图,存放对应的Data Block是否被占用对应的inode是否被占用存放文件属性 如 文件大小,所有者,最近修改时间等.一个文件值对应一个inode存数据

所以一般新建文件步骤是:

  • 找到一个空闲的inode节点,把文件信息放入其中。
  • 需要几个存储块,就找几个,实在不够还可以通过映射的方式
  • 记录分配情况到inode对应的块上
  • 添加文件名到目录

删除就很简单:置零inode和对应的block bitmap就好。

软硬链接

硬链接:并非真正的文件,其实还是同一个文件。其文件inode相同

ln file1 file2
建立文件2是文件1的硬链接

linux可以多个文件对应同一个inode。

ln -s file1 file2
建立文件2是文件1的软链接

ls -li
可以查看文件inode.

软连接:本质还是文件,相当于是windows下的的快捷方式。是一个区别之前文件的新文件。

目录不允许建立硬链接,否则会存在find的时候循环。

  • 我们在删除文件时干了两件事情:1.在目录中将对应的记录删除,2.将硬连接数-1,如果为0,则将对应的磁盘释放。
  • 但是linux下是具有这种结构的,比如 . 和 .. (当前目录和上级目录)

动静态库

静态库(a.):对 .o目标文件进行打包,让使用者可以直接进行连接形成程序。程序运行时不再需要动态库。
动态库(.so):程序在运行的时候才去链接动态库的代码,多个程序共享使用库的代码。一个与动态库链接的可执行文件仅仅包含它用到的函数入口地址的一个表,而不是外部函数所在目标文
件的整个机器码在可执行文件开始运行以前,外部函数的机器码由操作系统从磁盘上的该动态库中复制到内存中,这个过程称为动态链接。
优点:动态库可以在多个程序间共享,所以动态链接使得可执行文件更小,节省了磁盘空间。操作系统采用虚拟内存机制允许物理内存中的一份动态库被要用到该库的所有进程共用,节省了内存和磁盘空间。

静态库生成:ar -rc libname.a a.o b.o

其中 name是库的名字
查看静态库中的目录列表:ar -tv libmymath.a
打包对应的头文件和.o文件
静态库使用:
gcc test.c -I myA_lib/include -lMyA -L myA_lib/lib^C
-I 新增头文件搜索路径:表示找头文件是,也要去所给目录下找,-L新增库文件搜索路径:找库时,要去所给目录下找。-l:后面紧接所需要的库的名称

gcc默认是动态链接的:第三方库,默认不认识。如果gcc -static 就必须要有.a(也就是静态库)

动态库生成:

gcc -fPIC -c CSource1.c CSource2.c 产生位置无关码
gcc -shared -o libname.so *.o 形成动态库
也需要打包,表明对应的库和头文件

动态库使用:
1.使得程序在运行时,能找到对应的库和头文件
A.直接安装到系统

  • 拷贝对应的动态库到系统库 /lib 或者 /lib64
  • 拷贝对应的头文件到 /usr/include/
  • 完后链接的时候连接你需要使用的库即可 gcc a.c -lname

B.给当前库在当前目录或者系统库目录下建立软链接

  • 需要和库同名

C.或者添加到库环境变量

  • echo $LD_LIBRRAY_PATH
  • export 上述名称的环境变量和你的库的地址,系统呢,也能找到依赖的动态库

D.修改 /etc/ld.so.conf.d/

  • 增加我们自己的文件,内容是的存放动态库的地址

生成的代码例子:

dy-lib=libMyA.so$(dy-lib):Array.ogcc -shared -o $@ $^
%.o:%.cgcc -fPIC -c $<.PHONY:output
output:mkdir -p myA_lib/includemkdir -p myA_lib/libcp -f *.h myA_lib/includecp -f *.so myA_lib/lib.PHONY:clean
an:                                                                                       18     rm -rf *.o *.so myA_lib

可执行程序使用的是,绝对编址,库使用的是相对编址

使用别人提供的库

1.CentoOS上,可以用yum去安装对应的库
2.去yum安装之后,一般都会在linux系统里面拷贝对应的头文件和库在系统目录。
3.我们在自己的源代码使用这些库,包含头文件
4.编译链接时需要指明链了什么库

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

相关文章:

  • 绵阳新农网的网站是哪个公司做的注册公司的条件和要求
  • 昆山建设工程安监站网站wordpress主题 游戏
  • 网站 数据库 关系网站源码怎么预览
  • 宜兴城乡建设局网站肇庆企业推广
  • 贵州企业网站开发公司做网站服务器用国外的
  • 有关电子商务网站建设与维护的书籍网站建设技术知识
  • 国外黄冈网站推广房地产网
  • 上海人才网官网登录优化大师apk
  • 二手房网站排行精品课程网站建设毕业设计论文
  • 乐清建设网站公司网站推广公司有哪些
  • 品牌创意网站建设重大新闻事件
  • 网站开发策划案建一个网站需要多长时间
  • 娱乐公司网站建站背景介绍长安seo排名优化培训
  • 杭州思拓网站建设台州企业自助建站
  • 上饶网站网站建设网站虚拟主持人
  • 网站开发页面关于建设网站的申请
  • 自助建站的平台有官网建手机网站吗
  • 做英文网站的标准字体wordpress有微信插件
  • 站酷的网址建设网站技术数据策划书
  • 轻设计 让网站灵敏轻便的6个技巧网站全是乱码
  • 桥梁建设网站淘宝客网站制作视频教程
  • 开封网站制作哪家好17网站一起做网店普
  • 建设工程 法律 网站山东泰安网络科技有限公司
  • 网站网址相对路径如何设置中国建设通官方网站
  • 专业的手机网站建设公司知名做网站
  • 自适应网站怎么做m站怎么做淘宝卷网站
  • 网站建设空间域名是什么中文的网站做不成二维码
  • 网站建设修改教程视频上海搬家公司价目表
  • 长春火车站到长春机场大巴时刻表wordpress会员查看内容收费
  • 泉州网站建设哪家专业手机膜+东莞网站建设