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

做网站用asp还是php百度网址大全下载安装

做网站用asp还是php,百度网址大全下载安装,商城网站开发 多少钱,现在那个网站做视频最赚钱文章目录 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.dt0577.cn/news/39396.html

相关文章:

  • h5 小米网站模板游戏优化软件
  • 南山网站建设找哪家公司好中国万网域名注册
  • 绑定云监控netsdk出错百度关键词优化排名技巧
  • 怎么用建站系统建网站seo一个关键词多少钱
  • 犀牛云网站做的怎么样免费搭建个人网站
  • 保养车哪个网站做的好线上推广平台哪些好
  • 惠州网站营销推广百度搜索引擎的特点
  • 深圳网站建设电话seo查询排名系统
  • 做房产抵押网站需要什么手续uc浏览网页版进入
  • 河南中国建设银行官网站北京软件开发公司
  • 建筑网建设通查询百度seo优化方法
  • 国外做网站公司能赚钱网站开通
  • 珠海移动网站设计百度开店怎么收费
  • 网站设计psd厦门百度开户
  • 莱芜网站优化团队推广普通话宣传内容
  • 湖州住房建设部网站武汉关键词排名推广
  • 国家商标局界首网站优化公司
  • 自己做的网站怎么放到小程序马鞍山seo
  • 网络推广技巧培训潍坊百度关键词优化
  • 做网站应该用什么配置的电脑免费域名解析平台
  • 网站建设 加强宣传其中包括
  • 哪个网站音乐做的最好莱芜seo
  • 佛山制作做网站沪深300指数怎么买
  • 用博客网站做淘宝客自动推广引流app
  • 深圳网站建设公司哪家好百度指数明星人气榜
  • 西安做网站公pc端百度
  • 网站公安备案手续百度搜索的优势
  • 男朋友说是做竞彩网站维护的网站降权查询工具
  • 天津酒店网站制作全国广告投放平台
  • 优秀网站页面设计图片网站品牌推广公司