当前位置: 首页 > news >正文

C++ learning day 02

目录

引言      

编译定义:     

查看obj文件

        1. 禁用预处理

        2. CTRL + F7 编译math.cpp

        3. 查看obj文件

        4. 查看.asm文件(汇编程序)


引言      

        今天介绍C++中,一个Cpp文件经过汇编后得到obj文件,以及obj文件的内容,asm文件的介绍。

编译定义     

         利用编译程序(编译器)从源语言编写的源程序(.cpp)产生目标程序(.obj)的过程。

在Visual Studio中如何查看目标文件:

查看obj文件

        以下代码为例

int Multiply(int a, int b)
{int result = a * b;return result;
}
         1. 禁用预处理

                1.1 右击项目之后,点击Properties,因为预处理后不会生成目标文件,所以我们要进行设置

                1.2 把预处理一个文件改为No

        2. CTRL + F7 编译math.cpp

                

        3. 查看obj文件

                3.1 打开项目所在目录

                        

                3.2 会生成一个math.obj文件, 如果直接用电脑自带的文本编辑器打开的话,会乱码,但是我们需要一个Sublime Text软件,点击官网下载

                 

                打开之后就就是这样子了~(obj是目标文件,十六进制)

        4. 查看.asm文件(汇编程序)

                4.1 首先更改设置,把C++的输出文件的Assembler Output(汇编程序输出),该为Assembly-Only Listing (/FA)

        

               4.2 打开项目文件后

               4.3 查看.asm文件,有计组和汇编语言的基础会比较好理解一点~

http://www.xdnf.cn/news/379927.html

相关文章:

  • 常见的算法介绍
  • 人脸真假检测:SVM 与 ResNet18 的实战对比
  • Java单例模式总结
  • 【Linux 系统调试】系统内存越界调试利器Electric Fence详解
  • waterfall与Bidding的请求机制
  • Day20打卡-奇异值SVD分解
  • Python序列化的学习笔记
  • 基于PE环境搭建及调试S32K312
  • Lua—元表(Metatable)
  • 怎样使自己处于高能量状态
  • Discriminative and domain invariant subspace alignment for visual tasks
  • JVM——即时编译器的中间表达形式
  • MYSQL 索引与数据结构笔记
  • 【大数据技术-HBase-关于Hmaster、RegionServer、Region等组件功能和读写流程总结】
  • 【Linux】线程POSIX信号量
  • JDBC工具类
  • c#建筑行业财务流水账系统软件可上传记账凭证财务管理系统签核功能
  • 代码随想录算法训练营第三十七天
  • win10-启动django项目时报错
  • ndk.symlinkdir - 在 Android Studio 3.5 及更高版本中,创建指向 NDK 的符号链接
  • 关于数据库查询速度优化
  • vue3使用tailwindcss报错问题
  • C.循环函数基础
  • 远程调试---在电脑上devtools调试运行在手机上的应用
  • PyTorch API 3 - mps、xpu、backends、导出
  • 6.秒杀优化
  • 更换内存条会影响电脑的IP地址吗?——全面解析
  • A2A大模型协议及Java示例
  • 以影像为笔,劳润智在世界舞台上书写艺术之路
  • 不同句子切割(文本分段 / chunking)工具或库 各自采用的策略和目标对比和分析