免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 808 | 回复: 2
打印 上一主题 下一主题

请教:代替 malloc 出现的问题。。。 [复制链接]

论坛徽章:
1
程序设计版块每日发帖之星
日期:2016-06-04 06:20:00
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-16 10:06 |只看该作者 |倒序浏览
--------------------------------------------------------------------------------

各位大虾好,我想请教一个问题:

现在我需要自己写一个malloc 来代替 linux系统的标准malloc ,
用来测试一个程序(比如说 A)申请的内存大小(已经编译好了,:em12:没有这个程序的代码)。

我写了一个test.c(比如说 B),已经证明了当我call  malloc 的时候,
调用的是我自己写的 malloc(根据我在malloc里面的打印),而不是标准 malloc,
问题在于,当我把 A 代替 B的时候,就没有调用我自己写的malloc了(没有打印),

也就是可能说,A在申请内存的时候,没有使用到 malloc ?
由于A可能是由 C++写的,故可能使用了 new 还是什么的。。。
但是,似乎 new也是调用 molloc的吧?

如果A使用的是 new,那么请问我又应该如何去替代new 之类的呢?对new的机制不太了解。。

我已经试过,malloc ,calloc,realloc,valloc 都是一样结果: 对B都有效,对A都没有效.

我总不可以一个个去排除其他的memalign....吧。。。
请大家赐教。谢谢!

论坛徽章:
0
2 [报告]
发表于 2006-11-17 13:01 |只看该作者
C++ 的 new 不一定调用  C 的 malloc

你要调试的程序用的是静态库/共享库?   好像 malloc 在 libc 里面吧,,你怎么还能用自己的 函数  代替 库?

论坛徽章:
1
程序设计版块每日发帖之星
日期:2016-06-04 06:20:00
3 [报告]
发表于 2006-11-20 11:21 |只看该作者
原帖由 windwiny 于 2006-11-17 13:01 发表
C++ 的 new 不一定调用  C 的 malloc

你要调试的程序用的是静态库/共享库?   好像 malloc 在 libc 里面吧,,你怎么还能用自己的 函数  代替 库?


谢谢你的回复!
是的,我现在要做的是用自己的函数来代替 库(stdlib) 之类的东西。这个应该是可行的。

现在我需要知道的是,C++的  new 是任何获得内存的呢?哪位大哥/大姐可以说说?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP