通过visual studio生成与查看汇编代码

1、生成汇编代码

可以在项目属性中设置汇编程序输出,可以根据需要设置带不带机器码或源码。这里设置带机器码的汇编输出。

设置好之后,生成项目文件时,会额外多一个.cod后缀的文件,这就是带机器码的汇编文件。

2、查看汇编代码

以函数TargetFunction为例:

生成的汇编代码如下:

cpp 复制代码
; Line 5
$LN3:
  00000	48 83 ec 28	 sub	 rsp, 40			; 00000028H
; Line 6
  00004	48 8d 15 00 00
	00 00		 lea	 rdx, OFFSET FLAT:$SG4294967237
  0000b	48 8b 0d 00 00
	00 00		 mov	 rcx, QWORD PTR __imp_?cout@std@@3V?$basic_ostream@DU?$char_traits@D@std@@@1@A
  00012	e8 00 00 00 00	 call	 ??$?6U?$char_traits@D@std@@@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@0@AEAV10@PEBD@Z ; std::operator<<<std::char_traits<char> >
; Line 7
  00017	48 83 c4 28	 add	 rsp, 40			; 00000028H
  0001b	c3		 ret	 0

对源程序进行调试

查看函数TargetFunction起始地址中的内容,发现和汇编代码中的机器码时可以完全对应的。

注意:指令的的一些地址可能与实际有关。

相关推荐
牛油果子哥q8 分钟前
二叉树(Binary Tree)零基础精讲,树基础概念、树形分类、核心性质、递归/层序遍历、完整代码与面试考点全解
c++·面试·数据挖掘
玖玥拾27 分钟前
C/C++ 数据结构(四)链表与STL容器
c语言·数据结构·c++·链表·stl库
不吃土豆的马铃薯31 分钟前
C++ 正则表达式入门详解
linux·服务器·网络·数据库·c++·正则表达式
玖玥拾42 分钟前
C/C++ 数据结构(一)基础概念、线性表链表
c语言·数据结构·c++·链表
星恒随风43 分钟前
C++ 模板初阶:从泛型编程、函数模板到类模板,一篇打通基础概念
开发语言·c++·笔记·学习
郝学胜-神的一滴1 小时前
Qt 高级开发 031:QListWidget图标布局实战
开发语言·c++·qt·程序人生·软件构建·用户界面
QiLinkOS1 小时前
极客精神与商业思维的融合实践(3)
c语言·c++·人工智能·算法·开源协议
牛油果子哥q1 小时前
队列(Queue)深度精讲,先进先出原理、顺序/链式/循环队列、STL queue底层、栈队列互模拟与面试考点全解
开发语言·c++·面试
暖阳华笺1 小时前
【数据结构与算法】哈希专题
数据结构·c++·算法·leetcode·哈希算法
大白话_NOI1 小时前
【洛谷 P1024 】[NOIP2001 提高组] 一元三次方程求解 - 详细分析与C++实现
c++·算法