反汇编之C++的new
发布日期:2021-05-26 20:04:56
浏览次数:6
分类:技术文章
本文共 578 字,大约阅读时间需要 1 分钟。
首先来看最简单的new操作
int main()
{
int *temp = new int;
delete temp;
}
反汇编结果:调用了operator new
00311C9E push 4
00311CA0 call operator new (0311438h)
00311CA5 add esp,4
进入operator new中查看
void* __CRTDECL operator new(size_t const size)
{
00315320 push ebp
00315321 mov ebp,esp
00315323 push ecx
for (;;)
{
if (void* const block = malloc(size))
00315324 mov eax,dword ptr [size]
00315327 push eax
00315328 call _malloc (03111B3h)
0031532D add esp,4
00315330 mov dword ptr [ebp-4],eax
00315333 cmp dword ptr [ebp-4],0
00315337 je operator new+1Eh (031533Eh)
return block;
发现其底层也调用了malloc函数
转自
转载地址:https://blog.csdn.net/Gaodes/article/details/81701971 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2024年03月15日 12时18分23秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
java声明变量保存性别_java第二次课变量第一次上机
2019-04-21
js装修计算器java代码_JavaScript代码实现简单计算器
2019-04-21
功夫传人java_PAT L2-020 功夫传人【BFS】
2019-04-21
联机侠控制台JAVA_联机侠控制台常见问题 | 我的世界 | MC世界侠
2019-04-21
2018转行的java学习_2018java平均工资,想转行学java的快点上车
2019-04-21
java 常用数据库_java连接常用数据库
2019-04-21
有什么可以替换php,php替换函数是什么
2019-04-21
java静态方法是不是成员方法,Java静态变量与静态方法与成员变量成员方法的区别...
2019-04-21
oracle 结构讲解,Oracle 数据库体系结构解析
2019-04-21
merger oracle,merger oracle 函数
2019-04-21
操作系统linux基本环境,Linux操作系统中常见桌面环境的介绍
2019-04-21
linux美化文件,Linux 终端美化 - Oh My Zsh
2019-04-21
hp服务器 linux,HP服务器Linux下hpacucli常用命令
2019-04-21
linux 防火墙添加6309端口,关于在linux下部署垂直集群的问题
2019-04-21