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

C++程序生成文件

文章目录

  • VS2019 Debug 模式
  • VS2019 Release 模式
  • exe连接动态库和静态库的流程

VS2019 Debug 模式

在这里插入图片描述
在Visual Studio的Debug模式下运行程序时,会生成以下文件:

  1. 可执行文件(.exe):生成的可执行文件(.exe)会放置在Debug文件夹中。这是你的程序的主要执行文件。

  2. 调试符号文件(.pdb):pdb对应 program database。该文件记录了代码中断点等调试信息,因为它将代码中的所有对象符号映射到编译后的可执行文件中;映射代码状态到可执行文件中。调试器根据这些信息找出断点在哪个源文件的哪一行。

  3. ilk文件:该文件重新构建项目时,会被连接器使用,它使连接器能够将根据修改的源代码生成的目标文件增量的连接到现有的.exe文件中,从而避免每次修改程序时,都重新链接所有文件

  4. 依赖库:lib文件:静态库,dll文件:动态库

VS2019 Release 模式

在这里插入图片描述

  • manifest文件:Manifest文件是一个XML文件,用于描述应用程序的依赖关系和其他运行时配置。Manifest文件通常用于指定程序所需的操作系统版本、依赖库、程序启动方式和权限要求等信息。

exe连接动态库和静态库的流程

在这里插入图片描述

  • 静态库(.a / .lib):
    静态链接库在程序编译时被连接到目标代码中参与编译;链接时将库完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝;生成可执行程序之后,静态链接库不需要(因已将函数拷贝到可执行文件中)。
  • 动态库(.so /.dll)
    程序运行时由系统动态加载动态库到内存,生成可执行程序之后动态库依然需要,供程序调用,系统只加载一次,多个程序共用,节省内存

http://www.kler.cn/a/37916.html

相关文章:

  • jetson nano报错Cannot allocate memory的问题——解决办法
  • UI schema入门demo:应对业务需求变化的强力武器
  • python调用oepnai API
  • 简单的微信小程序拼图游戏的代码
  • COT、COT-SC、TOT 大预言模型思考方式||底层逻辑:prompt设定
  • flutter开发实战-flutter二维码条形码扫一扫功能实现
  • 使用chatgpt过funcaptcha验证码3个人学习记录
  • javaee jsp页面 九大内置对象和四大作用域
  • Abandoning the Bayer-Filter to See in the Dark 论文阅读笔记
  • C++并发编程(6):单例模式、once_flag与call_once、call_once实现单例
  • 微信小程序(二)
  • Element 表单验证项v-model绑定值为对象下嵌套的子对象的属性时无法验证
  • FLutter 开发中 fijkplayer设置屏幕常亮
  • Android 内存泄漏的常见原因及其对应的解决方案
  • 提示“无法向会话状态服务器发出会话状态请求。请确保 ASP.NET State Service (ASP.NET 状态服务)已启动”,如何解决?
  • 算法学习day24
  • 实验四(双向重发布)7 14
  • Java线程状态
  • 基于flask框架的用户注册页面实例
  • STM32 Proteus仿真双路0-20V直流电压表TM1637数码管-0061