当前位置: 首页 > 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文件,有计组和汇编语言的基础会比较好理解一点~

相关文章:

  • day010-命令实战练习题
  • 第一个SpringBoot程序
  • 软考中级数据库备考-上午篇
  • Spark的三种部署模式及其特点与区别
  • Autoware播放提示音
  • 基于Spring Boot + Vue的高校心理教育辅导系统
  • adb命令查询不到设备?
  • QTableWidget实现多级表头、表头冻结效果
  • 模型 启动效应
  • WPF之集合绑定深入
  • 配置高级相关
  • 深入理解卷积神经网络的输入层:数据的起点与预处理核心
  • SpringBoot项目容器化进行部署,meven的docker插件远程构建docker镜像
  • [杂谈随感-13]: 人的睡眠,如何布置床的位置比较有安全?感?
  • java命令行打包class为jar并运行
  • 基于人工智能的个性化 MySQL 学习路径推荐研究
  • Linux——Mysql索引和事务
  • 基于FPGA的PID控制器verilog实现,包含simulink对比模型
  • ffmpeg 写入avpacket时候,即av_interleaved_write_frame方法是如何不需要 业务层释放avpacket的 逻辑分析
  • 2003-2020年高铁线路信息数据
  • 人民日报钟声:平等对话是解决大国间问题的正确之道
  • 方正证券总裁何亚刚到龄退休,54岁副总裁姜志军接棒
  • 近4小时会谈、3项联合声明、20多份双边合作文本,中俄元首今年首次面对面会晤成果颇丰
  • 江苏省人社厅党组书记、厅长王斌接受审查调查
  • 98年服装“厂二代”:关税压力下,我仍相信中国供应链|湃客Talk
  • 体坛联播|双杀阿森纳,巴黎晋级欧冠决赛对阵国际米兰