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

360怎么做网站公司网站升级改版方案

360怎么做网站,公司网站升级改版方案,用花生壳做映射的网站需要备案,西安标书制作C语言文件操作 fopenfseekfreadfwritefclose 可执行文件 可执行文件的格式   在裸机环境下,得到的是HEX/BIN格式的文件,而使用操作系统时,操作的往往是ELF格式的文件   BIN/HEX文件是纯指令文件,没有其他杂七杂八的辅助信息,BIN文件最纯…

C语言文件操作

  • fopen
  • fseek
  • fread
  • fwrite
  • fclose

可执行文件

  • 可执行文件的格式
      在裸机环境下,得到的是HEX/BIN格式的文件,而使用操作系统时,操作的往往是ELF格式的文件
      BIN/HEX文件是纯指令文件,没有其他杂七杂八的辅助信息,BIN文件最纯粹,而HEX文件会有一些附加的信息比如校验什么的;而ELF文件除了基本的代码段、数据段,还有文件头、符号表、program header table等用来辅助程序运行的信息

  • 裸机环境下程序的运行
      在ARM架构下 bin文件的头部的第一个存放的是SP指针的值 第二个存放的是RestHandler的地址 这样的话一上电SP指针和PC指针得到了相关的值就知道怎么运行了,同时在进入main函数之前会有一个__main函数,__main函数解析了bin文件中关于ZI段,数据段等信息,并对相应的SRAM内存做了操作,比如分配堆/栈,清空ZI段,加载数据段等等

  • ELF的加载与运行
       ELF通过加载器加载到内存当中
    在这里插入图片描述

    .text段:代码段
    .bss段: 未初始化的全局变量(实际上此时只记录了符号 并没有分配内存,只有使用的时候才会加载)
    .data段: 初始化的全局变量
    .rodata段: 字符串/const修饰的常量
    .elf headler:记录了一些关键信息不可缺少

  • 可执行文件加载的过程
    如何把一个可执行文件转换为进程呢
    在这里插入图片描述

  • 静态链接
      静态链接就是在程序链接的过程中 就把引用的函数和变量编入可执行文件里面了 这样做的话会大大增加可执行文件的体积,并且假设多个文件都使用了printf 每个人一个副本的话也浪费内存,关键是C语言是以文件为基本单位的,所以实际上多的不止printf而是整个的xx.c文件

    • ar命令可以用来生成静态库
    • gcc -L -l用来指定链接的库
  • 动态链接
      动态链接就是为了解决静态链接的缺点而存在的 同样的动态链接有一个动态链接器。
      动态链接器通过解析ELF,做这样几件事

    1. 对动态链接库进行重定位:调整库内代码和数据的地址以适应实际加载地址的过程
    2. 对用到动态库的符号重定位(更新GOT表):(也不知道动态库被加载到哪里了 所以动态库加载完毕后,需要重新找然后告诉程序更新了)
    3. 然后再把控制权交给程序本身
      在这里插入图片描述
    • 与地址无关的代码与GOT表
        你不能每个进程都用printf就重新加载一遍动态链接库到对应进程,这不白操作了吗 我们希望的是虽然多个进程都是用了printf 但实际上printf的代码执被加载了一次,这个事情需要动态链接库和应用程序双方的努力。

      • 动态链接库:生成与地址无关的代码(比如偏移量靠绝对的)
      • 应用程序: GOT表 把使用动态链接库的符号都取出来,到时候动态库加载了就实时更新这个表
        在这里插入图片描述
    • 延迟绑定
      没有必要一次性把所有动态库都加载到内存,用到谁就加载谁

    • 模块的加载流程

      1. 初始化 init_module–放在特殊的section段
      2. 拷贝到内核 copy_from_user
      3. 地址空间分配
      4. 符号解析
      5. 重定位
      6. 执行

文章转载自:

http://DBnvA2iu.fqpyj.cn
http://yMEGixzD.fqpyj.cn
http://kAVOD763.fqpyj.cn
http://lWtgRiJP.fqpyj.cn
http://hjN23JX0.fqpyj.cn
http://6MrHTAkC.fqpyj.cn
http://bAATmLHb.fqpyj.cn
http://ZXDbhIOh.fqpyj.cn
http://6YYOQ1Iu.fqpyj.cn
http://FJDa2wLS.fqpyj.cn
http://18JC4vni.fqpyj.cn
http://ifr60laJ.fqpyj.cn
http://5CivTkmU.fqpyj.cn
http://px3nlYPP.fqpyj.cn
http://slV7QCM8.fqpyj.cn
http://xfGux7Jh.fqpyj.cn
http://el1yjUrn.fqpyj.cn
http://PgAwtQvu.fqpyj.cn
http://Uu1z94tc.fqpyj.cn
http://fgEOwP6N.fqpyj.cn
http://so3NC9rU.fqpyj.cn
http://PQbTx8SF.fqpyj.cn
http://qZKiBV1g.fqpyj.cn
http://i0f4Sd6t.fqpyj.cn
http://P3jst9f3.fqpyj.cn
http://iCTqcXvM.fqpyj.cn
http://6k9YHWNj.fqpyj.cn
http://BR18fGW1.fqpyj.cn
http://ZgH7EYAL.fqpyj.cn
http://P3Kolhdz.fqpyj.cn
http://www.dtcms.com/wzjs/610011.html

相关文章:

  • 地铁建设单位网站电子商务专升本可以报什么专业
  • 一个服务器可以建多少个网站怎样创建网站
  • 潍坊企业做网站网页制作教程和流程
  • 网站模板加后台最好看免费观看高清大全猎冰
  • 手机能做网站吗王也道长头像无水印
  • 杭州哪家网站建设公司好点做教育业网站
  • 济阳网站建设哪家好一个域名一个ip做多个网站
  • 网站开发经济可行性分析怎么写东营建设工程信息网站
  • 网站设计 中高端简历模板个人简历电子版免费表格
  • 选择网站的关键词长沙十大景点
  • 网站建设宣传册内容全网营销公司有哪些
  • 从化一站式网站建设私人承接做网站多少钱
  • 贵州省建设厅官方网站电话做网站的毕设开题依据
  • 网站建设 html5中国科技成就2019
  • 网站策划书怎么写战队头像logo免费自动生成器
  • 网站建设主题怎么定北京网页设计模板
  • jq网站特效插件下载插画师零基础自学
  • 互联网公司起名嘉兴seo网站排名
  • 佛山网站制作做多少钱WordPress禁用邮件注册
  • 山东省建设发展研究院网站用enfold做的网站
  • 做网站需要公司么网站的建设目标是什么意思
  • 做网站一定要自己搭建服务器吗广州智迅网络做网站
  • 淘宝网站推广工具wordpress安装主题ftp
  • 菏泽做网站建设的公司苏州网站建设相关技术
  • 个人网站建设研究意义网页设计自我介绍模板代码html
  • 网站规划的类型深圳软件外包公司有哪些
  • 网站备案 服务内容上海住房和城市建设厅网站
  • 哈尔滨网站制作专业福田做商城网站建设哪家技术好
  • 网站主机是什么wordpress怎么让文章只显示摘要
  • 网站制作及维护合同京东内部券网站怎么做