使用VC将C语言代码转为汇编

2024-09-01 04:08

本文主要是介绍使用VC将C语言代码转为汇编,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这里使用VS2010进行试验


我们写一个最简单的C程序:

#include <stdio.h>


int main() {
printf("Hello World\n");
return 0;
}

编译链接...然后按下F10启动调试

再按下Alt + 8

于是,对应汇编代码就出现了

Enjoy it!


附:(Hello World的对应汇编码)

--- d:\develop\c\helloworld\helloworld\helloworld.c ----------------------------
#include <stdio.h>


int main() {
00B01380  push        ebp  
00B01381  mov         ebp,esp  
00B01383  sub         esp,0C0h  
00B01389  push        ebx  
00B0138A  push        esi  
00B0138B  push        edi  
00B0138C  lea         edi,[ebp-0C0h]  
00B01392  mov         ecx,30h  
00B01397  mov         eax,0CCCCCCCCh  
00B0139C  rep stos    dword ptr es:[edi]  
printf("Hello World\n");
00B0139E  mov         esi,esp  
00B013A0  push        offset string "Hello World\n" (0B0573Ch)  
00B013A5  call        dword ptr [__imp__printf (0B082B0h)]  
00B013AB  add         esp,4  
00B013AE  cmp         esi,esp  
00B013B0  call        @ILT+295(__RTC_CheckEsp) (0B0112Ch)  
return 0;
00B013B5  xor         eax,eax  
}
00B013B7  pop         edi  
00B013B8  pop         esi  
00B013B9  pop         ebx  
00B013BA  add         esp,0C0h  
00B013C0  cmp         ebp,esp  
00B013C2  call        @ILT+295(__RTC_CheckEsp) (0B0112Ch)  
00B013C7  mov         esp,ebp  
00B013C9  pop         ebp  
00B013CA  ret  


这篇关于使用VC将C语言代码转为汇编的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1125901

相关文章

Java使用Curator进行ZooKeeper操作的详细教程

《Java使用Curator进行ZooKeeper操作的详细教程》ApacheCurator是一个基于ZooKeeper的Java客户端库,它极大地简化了使用ZooKeeper的开发工作,在分布式系统... 目录1、简述2、核心功能2.1 CuratorFramework2.2 Recipes3、示例实践3

springboot security使用jwt认证方式

《springbootsecurity使用jwt认证方式》:本文主要介绍springbootsecurity使用jwt认证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录前言代码示例依赖定义mapper定义用户信息的实体beansecurity相关的类提供登录接口测试提供一

go中空接口的具体使用

《go中空接口的具体使用》空接口是一种特殊的接口类型,它不包含任何方法,本文主要介绍了go中空接口的具体使用,具有一定的参考价值,感兴趣的可以了解一下... 目录接口-空接口1. 什么是空接口?2. 如何使用空接口?第一,第二,第三,3. 空接口几个要注意的坑坑1:坑2:坑3:接口-空接口1. 什么是空接

Spring Boot 3.4.3 基于 Spring WebFlux 实现 SSE 功能(代码示例)

《SpringBoot3.4.3基于SpringWebFlux实现SSE功能(代码示例)》SpringBoot3.4.3结合SpringWebFlux实现SSE功能,为实时数据推送提供... 目录1. SSE 简介1.1 什么是 SSE?1.2 SSE 的优点1.3 适用场景2. Spring WebFlu

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

SpringBoot实现MD5加盐算法的示例代码

《SpringBoot实现MD5加盐算法的示例代码》加盐算法是一种用于增强密码安全性的技术,本文主要介绍了SpringBoot实现MD5加盐算法的示例代码,文中通过示例代码介绍的非常详细,对大家的学习... 目录一、什么是加盐算法二、如何实现加盐算法2.1 加盐算法代码实现2.2 注册页面中进行密码加盐2.

Spring Boot3虚拟线程的使用步骤详解

《SpringBoot3虚拟线程的使用步骤详解》虚拟线程是Java19中引入的一个新特性,旨在通过简化线程管理来提升应用程序的并发性能,:本文主要介绍SpringBoot3虚拟线程的使用步骤,... 目录问题根源分析解决方案验证验证实验实验1:未启用keep-alive实验2:启用keep-alive扩展建