易截截图软件、单文件、免安装、纯绿色、仅160KB

Linux中的地址空间

Linux中的地址空间
有这么一系列的问题,是否在困扰着你:用户程序编译连接形成的地址空间在什么范围内?内核编译后地址空间在什么范围内?要对外设进行访问,I/O的地址空间又是什么样的?
先回答第一个问题。Linux最常见的可执行文件格式为elf(Executable and Linkable Format)。在elf格式的可执行代码中,ld总是从0x8000000开始安排程序的“代码段”,对每个程序都是这样。至于程序执行时在物理内存中的实际地址,则由内核为其建立内存映射时临时分配,具体地址取决于当时所分配的物理内存页面。
我们可以用Linux的实用程序objdump对你的程序进行反汇编,从而知晓其地址范围。
例如:假定我们有一个简单的C程序Hello.c
  # include
  greeting ( )
  {
              printf(“Hello,world!\n”);
  }
  main()
   {
         greeting();
   }
之所以把这样简单的程序写成两个函数,是为了说明指令的转移过程。我们用gcc和ld对其进行编译和连接,得到可执行代码hello。然后,用Linux的实用程序objdump对其进行反汇编:
$objdump –d hello
得到的主要片段为:
08048568 :
   8048568:     pushl  %ebp
   8048569:     movl  %esp, %ebp
   804856b:     pushl  $0x809404
   8048570:     call    8048474  <_init+0x84>
   8048575:     addl   $0x4, %esp
   8048578:     leave
   8048579:     ret
   804857a:     movl  %esi, %esi
   0804857c :
   804857c:     pushl  %ebp
   804857d:     movl  %esp, %ebp
   804857f:     call    8048568&n


相关文档:

Linux的十项重要进展






<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
A:link { so-language: zxx }
-->
       十年以来,全球
Linux
界有哪些重要进展,人们应该知道?对此,人们可以有不同的看法,但是,大家总得有个大致相同的认识。实际情况怎样呢?
 
......

linux Bell 报警声音

Console 修改/etc/inputrc文件

set bell-style off
VIM 如果是在 console 模式下使用 vi/vim,一旦按错键会发出 bi 的一声,这样做可以提醒我们,但是很多时候会影响其他人工作、学习或者休息,如何关闭呢?
可以在 vi/vim 中使用
:set noeb
命令(其中 noeb 是 noerrorbells 的缩写) ......

linux 之 ifconfig 命令!

一般在linux下查看网络配置可以使用ifconfig命令,可以显示当前网卡的基本配置信息。
终端输入ifconfig 会出现一下内容:
eth0
Link encap:Ethernet HWaddr 00:0C:29:0C:4B:0F
inet addr:192.168.37.128 Bcast:192.168.37.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:33 er ......

制作 Unix/Linux 系统备份

作者:王昭银
---- SCO
Unix系统因其稳定可靠的特点,在金融、保险等行业得到广泛应用,但他的安装和维护对于专业技术人员也不是一件轻松的事。笔者所维护的系统安装有SCO
Unix操作系统、Informix数据库连同应用软件,安装后还要调整核心参数、安装设备连同链接核心等,安装一套完整的系统需花费数小时。所以,假如
制 ......

Linux 中如何查询和卸载已安装的软件

Linux 中如何查询和卸载已安装的软件
  Linux软件的安装和卸载一直是困扰许多新用户的难题。在Windows中,我们可以使用软件自带的安装卸载程序或在控制面板中的“添加/删除程序” 来实现。与其相类似,在Linux下有一个功能强大的软件安装卸载工具,名为RPM。它可以用来建立、安装、查询、更新、卸载软件。该工 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号