news 2026/10/16 16:08:02

在研究反汇编过程中如何避免实验函数被内联优化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在研究反汇编过程中如何避免实验函数被内联优化
__declspec(noinline) int test1(int a,int b,int c) { volatile int 返回结果= 0; 返回结果 = a + b - c; return 返回结果; } void 实验窗口::OnBnClickedButton1() { // TODO: 在此添加控件通知处理程序代码 MessageBoxW(L"测试开始", 0, 0); int 返回值=test1(1000,200,3); CString 输出测试; 输出测试.Format(L"测试结束,输出内容:%d", 返回值); MessageBoxW(输出测试); }

如上图,如何避免自己写的函数test1()被内联优化掉

什么叫内联优化?如果标记函数被编译器内联了,它在汇编里就消失了(直接变成几行无用的赋值,甚至被完全删掉),你就找不到call指令了。保留非内联的call,才能在反汇编里一眼看见。

在函数名前加上__declspec(noinline) 和函数内部定义一个变量加上volatile就行了

测试结果如下

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/16 16:07:43

R语言代谢组学分析全流程:从峰表预处理到差异代谢物筛选与通路富集

简介:这份资源面向具备一定R语言基础、希望进入代谢组学领域的科研人员与生物信息学初学者,系统整理了从数据导入到结果报告的全流程分析思路。压缩包共61个文件,以52个R脚本为核心,辅以3个Rmd报告文件、1个README说明文档及若干辅…

作者头像 李华
网站建设 2026/10/16 16:05:59

关联规则挖掘实战:从Apriori到FP-Growth的完整指南

1. 从"啤酒与尿布"说起:关联规则到底在解决什么问题很多人第一次接触关联规则,都是被"啤酒与尿布"这个经典案例带进来的。故事本身已经被讲烂了,但真正动手做过一遍的人会发现,这个案例背后藏着一个非常朴素却…

作者头像 李华
网站建设 2026/10/16 16:05:57

从零手写线性回归:基于NumPy与Jupyter的梯度下降实战

1. 为什么我不调库,偏要手写线性回归1.1 从一次面试翻车说起前几年我面过一家做数据服务的公司,技术面聊得挺顺,最后面试官扔过来一道题:“不用sklearn,手写一个线性回归,要求支持多元输入,用梯…

作者头像 李华
网站建设 2026/10/16 16:05:45

osgb倾斜摄影数据从加载到转换:格式原理、LOD调度与常见坑排查

简介:一份以OSGB格式存储武汉景区三维实景模型的倾斜摄影数据包,面向GIS开发、城市规划及三维可视化学习者,可用于场景加载、模型分析、格式解析或二次开发测试。压缩包内共267个文件,包含265个分层OSGB瓦片、1个S3C场景描述文件及…

作者头像 李华
网站建设 2026/10/16 16:04:47

从分层模型到网络排障:TCP/IP、DNS与路由转发一次讲透

简介:网络初学者或高校学生在学习计算机网络时,常因概念抽象、体系繁杂而难以建立整体框架,这份基于PPTX格式的《计算机网络基础知识》课件正适合此类场景。内容从网络定义、发展历程与分类切入,系统讲解OSI七层模型、TCP/IP四层协…

作者头像 李华
网站建设 2026/10/16 16:03:50

运维面试题库解析:Linux/Docker/K8s高频考点与答题思路

简介:运维工程师面试题PDF,围绕Linux、Shell、Python、MySQL、Docker、Kubernetes与网络等运维核心领域整理高频考点,适合正在准备运维岗位面试的求职者,也便于在职人员随时查漏补缺。资源为单个PDF文件,890KB左右&…

作者头像 李华