当前位置:  技术问答>linux和unix

linux下,如何在内存指定位置定一个结构体对象。

    来源: 互联网  发布时间:2016-02-10

    本文导语:  如题。谢谢 | Linux是多任务的操作系统,内存的使用是受到操作系统内核保护的,用户程序使用的地址是虚地址,所以 不能指定一个地址,直接使用这块内存,容易产生非法内存操作,出现段...

如题。谢谢

|
Linux是多任务的操作系统,内存的使用是受到操作系统内核保护的,用户程序使用的地址是虚地址,所以
不能指定一个地址,直接使用这块内存,容易产生非法内存操作,出现段错误。
如果你写的程序是内核模块的话,可以直接使用内存,首先要保证这个地址没有其他的模块使用。
可以这样写:
unsigned char * padd = 0xxxxxxx;
然后声明一个自己的结构体指针:
struct xxx *px;
px = (struct xxx *)padd;
就可以直接使用0XXXXXXX这个地址了。

|
 定义函数
void *mmap(void *start,size_t length,int prot,int flags,int fd,off_t offsize);
函数说明
mmap()用来将某个文件内容映射到内存中,对该内存区域的存取即是直接对该文件内容的读写。参数start指向欲对应的内存起始地址,通常设为NULL,代表让系统自动选定地址,对应成功后该地址会返回。参数length代表将文件中多大的部分对应到内存。

不过有一点要注意,start要在在字节对齐的开始的位置.

long pos=0xb7fd7001;
pos=pos-(pos%getpagesize());
mapped=(char *)mmap((void*)pos,1024, PROT_READ | PROT_WRITE, MAP_SHARED, outfile,0);
printf("%x,%xn",mapped,pos);

|
通常情况下,mmap映射的区域在进程虚拟地址空间的堆区。

    
 
 

您可能感兴趣的文章:

  • Linux下指定运行时加载动态库路径及shell下执行程序默认路径
  • Linux查找包含指定文字的文件(linux查找指定文件)
  • Linux下通过rpm安装软件详细介绍以及如何将软件安装到指定目录
  • 求一SHELL(Linux下批量将指定目录文件传到指定远程服务器的指定目录)!
  • linux如何给指定用户赋予指定文件的权限
  • Linux下怎么替换指定行指定列
  • linux 指定用户只能读写指定的文件夹
  • linux 下面安装通过yum安装apache 指定目录
  • 安装红旗Linux桌面版的问题:指定镜像文件。应该是什么路径
  • 求linux下,指定速率发包的软件
  • 在linux下怎样 建立一个指定路径的文件夹!!!!
  • LINUX下C++编程如何控制光标的位置,以达到在指定位置输出字符
  • 在linux上怎么查看指定文件夹的权限?
  • 在Linux下怎样指定网卡的速度
  • 急! linux中,如何将mysql安装到指定位置?
  • linux如何限制指定进程的内存使用量?
  • linux下怎么实现在屏幕上指定地方输出字符?
  • linux下多网卡机器中,如何通过指定网卡来接受数据?
  • Linux提到指定区间的字符命令如何写(cpu MHz: 2262.000)
  • LINUX的临时目录等,能指定到别的卷吗?
  • linux 如何与指定进程通信?
  • 1. 请问linux下可以使用“typedef list<对象*> 对象列表名 ”和iterator吗?
  • linux下的编程主旨思想是在面向过程还是面向对象的?谢谢!!
  • Linux:多进程 共享一个对象
  • Automation不能创建对象(LINUX系统)
  • linux下动态库中如何导出对象进行使用
  • linux中标准c如何将XImage对象数据保存到bmp或jpg文件
  • 在linux中, c++编程 有可以保存对象的容器么 类似list
  • 想问 现在主流的Linux 认证有哪几种?它们的适用对象?在广州哪里有好的相关培训中心?
  • 在linux下能不能创建一个堆,然后给堆指定一块共享内存,然后各个程序用此堆来new对象来共享?
  • linux下,在调用main()函数之前怎样得到命令行参数argc和argv??『比如在main()前面构造全局对象时』
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • linux下free命令显示的内存使用情况分析
  • 哪位前辈给解释下linux下虚拟内存和物理内存的关系!
  • Linux内存文件系统(ramdisk)的三种实现方式
  • linux下内存泄露检测工具 mtrace 如果记录.so文件中的内存信息
  • linux内存文件系统ramfs实现原理
  • 有人熟悉DMA吗?我要实现内存中的内存的“搬动”。(LINUX)
  • linux下进程占用内存空间详解
  • 如何让linux没有到达内存瓶颈时回收内存页并占用最少资源
  • Linux 共享内存介绍及实现代码
  • 在Linux上用C语言编写的函数里面申请了一块内存,并且返回这块内存,最终它需要释放吗?
  • 虚拟机上的Linux怎么修改Linux内存 iis7站长之家
  • 大家好,我想问下有人用过"linux进程的内存使用解析"中推荐使用的"Ben Maurer写的perl脚本"查看内存么
  • linux下进程间通信:共享内存原理及具体用法举例(基于c/c++语言)
  • 在SUSE linux下jar文档的运行,提示内存泄露,指定最大最小内存后只能在十几分钟才能打开,求各位大虾指点!
  • 我的redhat linux7.3因为内存有些少,所以我想随时查看内存的使用情况该如何去做,还有我想关掉(而不是切换)图形界面应该用什么命令
  • 请教!Linux系统C开发的程序,为什么我的程序运行时内存持续增长,程序退出后内存也没有降低?
  • 虚拟机上的Linux怎么修改Linux内存
  • 问个LINUX内存分配的问题。
  • linux9.0下内存占用一直是95%以上怎么解决
  • linux下查看java项目虚拟内存很大,请高手指点下
  • linux可不可以设置虚拟内存
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • Linux常用命令介绍:更改所属用户群组或档案属性
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3