如何知道两个 C++ 断点之间的代码汇编行的大小
How to know the size of assembly lines of code between two c++ break points?
我正在 eclipse 下构建一个 c++ 项目,为了执行缓存优化,我需要估计代码的某些热点是否可以放入缓存中。我放了两个断点并触发了 eclipse 反汇编器,但通过这种方式手动计算代码看起来很困难。
有什么更实用的方法吗?
让编译器发出程序集输出。 请务必对发布版本执行此操作,因为它们通常与调试版本有很大不同。 然后,您可以手动分析输出,并查看代码需要多少内存。
你提到了Eclipse,所以我假设你说的是Linux下的gcc,但Windows下的MSVC也是如此。
一种快速的估计方法是减去地址,然后除以平均指令大小。 在 x86 上,我会使用 4 个字节(您可以选择不同的数字)。
相关文章:
- 在c代码之间共享数据的最佳方式
- 我是C++编程的新手,这些代码之间有什么区别,我应该使用哪一个
- 当我使用按引用返回时,我不知道这些代码之间的区别
- 如何在括号与代码之间添加空格以进行C++?
- 这两个代码之间的差异(为什么我的数组也有额外的空间,即使我限制了它)
- 无法将Android WebView渲染到C 和Java代码之间共享的外部纹理中
- 这些代码之间的区别在哪里?输出不应该是一样的吗?
- Objective-C源代码和clang -rewrite-objc C++代码之间有什么关系?
- 框架代码和普通代码之间的区别
- FFMPEG生成的零散的MP4文件和代码之间的不同之处在于
- 我不知道为什么只有一个代码在两个代码之间具有sigsegv(看起来相同)
- 为什么这两个代码之间的运行时间差异这么长
- C# 和 C++ 代码之间的链接在 64 位计算机中不起作用
- 在C++和Fortran代码之间传递复数数组
- 在C++和 Python 代码之间转移控制权
- 在托管代码和非托管代码之间传递非托管结构的安全数组
- 自定义Direct2D呈现托管代码和非托管代码之间的批封送处理
- 是否有Visual c++编译器在线,以及如何在c++和vs简单代码之间转换
- 在我的c++代码之间向matlab传递一个字符串变量
- 这些C++代码之间有什么区别