指针篇之十 传递指针共享内存

本文探讨了如何利用指针实现内存共享,减少不必要的数据拷贝,提高程序性能。通过函数参数传递指针,可以避免中间内存的使用,实现多模块和多进程间的高效通信。文中以嵌入式开发为例,阐述了在多任务系统中如何通过指针实现内存共享,以减少数据传输的开销,并提到了操作系统提供的内存共享接口。
摘要由CSDN通过智能技术生成

    受硬件工艺制约,CPU访问外部内存的速度远远慢于寄存器以及片上内存,常常成为程序性能的最大瓶颈。而指针作为内存间接访问的索引,可实现内存共享机制,代替内存间的大数据搬运和拷贝。打个粗俗的比方,小孩在家里随地大小便,大人每次都要在后面处理,这时真希望他会蹲马桶啊!第一步一定是告诉并让他记住马桶在哪里,否则一旦既成事实,臭臭落地,就只能“拷贝搬运”了。所以,马桶的位置就是指针!

函数调用链上的多余中转内存导致的额外拷贝

    一些C初学者一看到需要buffer存数据,不管三七二十一,立马先定义个数组放着,然后懵懵懂懂走一步看一步,这样最后就不可避免的导致多余内存拷贝,比如:

  extern void tran(char *pin, char out[X_SIZE], int size);

  void initParams(Params * param,char *pECC)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值