程序员的自我修养——链接、装载与库,读书笔记

本文深入探讨了Linux环境下使用file命令查看文件类型,并详细解释了通过读写I/O端口寄存器、内存映射I/O和端口映射I/O方式向硬件发送I/O命令的方法。此外,还介绍了程序数据访问、库符号分配以及静态库与动态库的区别。

linux下使用file命令来查看相应的文件格式;

库起始是一组目标文件的包,就是一些最常用的代码编译成目标文件后打包存放;

向硬件发送I/O命令的方式有很多种,其中最为常见的一种就是通过读写I/O端口寄存器来实现。在x86平台上,共有65536个硬件端口寄存器,不同的硬件被分配到了不同的I/O端口地址。CPU提供了两条专门的指令“in”和“out”来实现对硬件端口的读和写;

内存映射I/O:将I/O寄存器映射到内存地址空间,访问这些寄存器就好像访问普通的内存单元一样;

端口映射I/O:有自己独立的地址空间,访问需要特殊指令;

程序在编写时,它访问数据和指令跳转时的目标地址很多都是固定的,编译时分配好;

静态库中的符号在链接时分配好,动态库中的符号在加载时计算好;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值