/proc/x/maps计算脚本

1 篇文章 0 订阅
#指定--non-decimal-data运行awk

BEGIN{
	total_size = 0
}
{
	rang_size = calc_size($1)
	total_size = total_size + rang_size
	printf("%s 0x%08x %s %s %s %s %s\n", $1, rang_size, $2, $3, $4, $5, $6)
}
END {
	printf("total=0x%08x\n", total_size)
}

function calc_size(rang_txt) {
	split(rang_txt, offset, "-", seps)
	#printf("s=%s e=%s\n", offset[1], offset[2])
	start = "0x"offset[1]
	end = "0x"offset[2]
	#printf("s=%s e=%s\n", start, end)
	return end - start
}

注意地址十六进制数字过大可能溢出。数字小没问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值