码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • C专家编程 第6章 运动的诗章:运行时数据结构 6.1 a.out及其传说


    运动的诗章:运行时数据结构 
    编程语言理论的经典对立之一就是代码和数据的区别。有些语言(如Lisp)把二者视为一体。其他语言(如C语言)通常维持两者的区别。Internet蠕虫非常难以被人们所理解,因为它的攻击方式的原理就是把数据转换为代码。代码和数据的区别也可以认为是编译时和运行时的分界线。编译器的绝大部分工作与翻译代码有关;必要的数据存储管理的绝大部分在运行时进行。本章描述运行时系统中隐藏的数据结构。

    学习运行时系统的3个理由:

    *它有助于优化代码,获得最佳的效率;
    *它有助于理解更高级的内容; 
    *当陷入麻烦时,它可以使分析问题更加容易。

    a.out它是“assembler output”(汇编程序输出)的缩写形式!

    UNIX中的可执行文件也是以一种特殊的方式加上标签,这样系统就能确认它们的特殊属性。为重要的数据定义标签,用独特的数字唯一地标识该数据是一种普遍采用的编程技巧。
    超级块(superblock,UNIX文件系统中的基础数据结构)就是用下面这个神奇数字唯一标识的:
    #define FS_MAGIC 0x011954
    这个数字是Kirk McKusick的生日。Kirk是Berkeley fast文件系统的实现者,上面这个神奇数字仍然在source base中使用(位于文件sys/fs/ufs_fs.h)。

    在a.out文件中也存在类似的神奇数字。在AT&T的UNIX System V发布之前,a.out文件被标识为神奇数字0407,偏移为零。0407是PDP-11一条无条件转移指令(相对于程序计数器)的二进制编码 !如果在兼容模式下运行PDP-11或VAX,可以先执行文件的第一个字,然后这个神奇数字(位于那里)会带你跳过a.out文件,进入程序第一个真正的可执行指令。在SVr4中,可执行文件用文件的第一个字节来标注,文件以十六进制7F打头,紧跟在后面的第二至第四字节为“ELF”。 

  • 相关阅读:
    人工智能第2版学习——博弈中的搜索2
    今日arXiv最热大模型论文:点击即可播放!港中文发布大模型写歌神器!
    应对出海安全合规挑战,兆珑科技为什么选择了亚马逊云科技?
    java计算机毕业设计哈尔滨旅游项目推荐平台演示录像2020MyBatis+系统+LW文档+源码+调试部署
    【网络安全自学宝典】从零开始自学网络安全,按照这个路线就可以了
    算法学习 | 动态规划经典练习题合集
    Ubuntu文件系统损坏:The root filesystem on /dev/sda5 requires a manual fsck
    “CardReordering“app Tech Support(URL)
    python 的cut与qcut
    python轻量级性能工具-Locust
  • 原文地址:https://blog.csdn.net/weixin_40186813/article/details/126076330
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号