• debug调试模式,编译后的可执行文件很大,带了很多调试符号信息等,方便开发阶段调试的时候进入具体的堆栈查看值。会打开所有的断言,运行阶段性能差速度慢,可能会有卡顿感觉。
  • release发布模式,编译后的可执行文件很小,不带任何调试符号信息,一般用于打包发布程序。由于经过了各种优化,会关闭所有断言,运行阶段性能最好,如果有卡顿那肯定是你的程序问题。
  • profile概述模式,编译后的可执行文件比debug小很多比release大一点,带有部分调试符号信息,在debug和release之间取一个平衡,兼顾性能和调试,性能更优但是又方便调试。
  • 使用Qt5.7版本对应三种模式编译的空白窗体程序大小:debug(1319kb)、release(24kb)、profile(90kb)。
  • debug链接的库是带d结尾的,release和profile链接的库是不带d结尾的,很多人以为profile链接的是带d结尾的其实是错误的。
  • 新的Qt在线安装程序在安装的时候,可以勾选是否安装debug调试库(对应lib目录下一堆带d结尾的文件),以前的版本是默认都安装,现在可选安装以便减少体积。
  • 无论是否安装了debug调试库,你都可以选择debug模式生成对应debug的文件,这个不知道怎么做到的。
  • 无论是哪种模式,都可以在程序中开启日志钩子输出日志信息,方便收集运行阶段的各种信息反馈给开发人员查看问题。
  • 最初的开发工具一般是具有debug和release两种模式,随着用户需求的增加和场景的需要,部分开发工具衍生出了profile模式,更有甚者比如flutter还有第四种test模式。

关于QtCreator中三种不同编译版本 debug、release、profile 的区别的更多相关文章

  1. iOS开发UI篇—iOS开发中三种简单的动画设置

    iOS开发UI篇—iOS开发中三种简单的动画设置 [在ios开发中,动画是廉价的] 一.首尾式动画 代码示例: // beginAnimations表示此后的代码要“参与到”动画中 [UIView b ...

  2. C#中三种定时器对象的比较

    ·关于C#中timer类 在C#里关于定时器类就有3个1.定义在System.Windows.Forms里2.定义在System.Threading.Timer类里3.定义在System.Timers ...

  3. C#中三种定时器对象的比较 【转】

    https://www.cnblogs.com/zxtceq/p/5667281.html C#中三种定时器对象的比较 ·关于C#中timer类 在C#里关于定时器类就有3个1.定义在System.W ...

  4. 深入浅出spring IOC中三种依赖注入方式

    深入浅出spring IOC中三种依赖注入方式 spring的核心思想是IOC和AOP,IOC-控制反转,是一个重要的面向对象编程的法则来消减计算机程序的耦合问题,控制反转一般分为两种类型,依赖注入和 ...

  5. Android中三种超实用的滑屏方式汇总(转载)

    Android中三种超实用的滑屏方式汇总   现如今主流的Android应用中,都少不了左右滑动滚屏这项功能,(貌似现在好多人使用智能机都习惯性的有事没事的左右滑屏,也不知道在干什么...嘿嘿),由于 ...

  6. 【】VMware vSphere中三种磁盘规格的解释说明

    在VMware vSphere中,不管是以前的5.1版本,或者是现在的6.5版本,创建虚拟机时,在创建磁盘时,都会让选择磁盘的置备类型,如下图所示,分为: 厚置备延迟置零 厚置备置零 Thin Pro ...

  7. 转-Web Service中三种发送接受协议SOAP、http get、http post

    原文链接:web服务中三种发送接受协议SOAP/HTTP GET/HTTP POST 一.web服务中三种发送接受协议SOAP/HTTP GET/HTTP POST 在web服务中,有三种可供选择的发 ...

  8. Spring中三种配置Bean的方式

    Spring中三种配置Bean的方式分别是: 基于XML的配置方式 基于注解的配置方式 基于Java类的配置方式 一.基于XML的配置 这个很简单,所以如何使用就略掉. 二.基于注解的配置 Sprin ...

  9. VMWare中三种网络连接模式的区别

    VMWare中有桥接.NAT.host-only三种网络连接模式,在搭建伪分布式集群时,需要对集群的网络连接进行配置,而这一操作的前提是理解这三种网络模式的区别. 参考以下两篇文章可以更好的理解: V ...

  10. js中三种定义变量 const, var, let 的区别

    js中三种定义变量的方式const, var, let的区别 1.const定义的变量不可以修改,而且必须初始化. 1 const b = 2;//正确 2 // const b;//错误,必须初始化 ...

随机推荐

  1. 云原生周刊:Karmada 成为 CNCF 孵化项目 | 2023.12.25

    开源项目推荐 kubernetes-reflector Reflector 是一个 Kubernetes 的插件,旨在监视资源(secrets 和 configmaps)的变化,并将这些变化反映到同一 ...

  2. 云原生爱好者周刊:Lens 5.0 发布,更炫、更快、更强!

    云原生一周动态要闻: Lens 5.0.0 发布 GitHub 推出 AI 编程工具 GitHub Copilot Kubernetes 发布 2020 年社区年度报告 Weaveworks 推出适用 ...

  3. Web渗透09_文件包含漏洞

    1 文件包含漏洞描述 开发人员编写代码时独立性好是一个很重要的要求,这边一个数据库类,那边一个模型类.几百行的整体代码,在整合时两行行代码就可以包含进来使用.文件包含有助于独立的代码之间的配合!有时引 ...

  4. vue之JavaScript封装

    导入js文件有很多种方式,我喜欢使用这种,感觉跟框架导入很相似.没有多余的沉湎. 定义一个js文件,比如util.js import Vue from "vue"; //===== ...

  5. [python]多线程快速入门

    前言 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位.由于CPython的GIL限制,多线程实际为单线程,大多只用来处理IO密集型任务. Python一般用标准库 ...

  6. uniswap v2 类比

    当然,以下是生活中的类比,帮助你理解 Uniswap V2 的核心概念: 1. 自动化做市商(AMM) 生活中的例子:自动售货机 解释:自动售货机内部有一种商品(如饮料)和一定的库存.用户通过投币购买 ...

  7. 关于 PyCharm 2024安装使用 (附加永久激活码、补丁)

    第一步:下载安装包 访问 IDEA 官网,下载安装包,下载链接如下 : https://www.jetbrains.com.cn/pycharm/ 第二步,安装完成之后,下载补丁 下载地址(里面包含激 ...

  8. TP6 使用 nusoap为第三方webservice调用插件

    composer下载插件 composer require nusoap/nusoap use NuSoap\Client\Client; class Index extends BaseContro ...

  9. 鸿蒙接入Flutter3.22

    配置环境变量 配置HarmonyOS SDK和环境变量 API12, deveco-studio-5.0 或 command-line-tools-5.0 配置 Java17 配置环境变量 (SDK, ...

  10. 文件上传日志包含详解与CTF实战

    1. 日志简介 1.1 日志介绍 日志是记录系统或应用程序运行时事件的文件.这些记录可以包括错误信息.用户活动.系统性能指标等,帮助开发者和管理员监控和排查问题. 日志通常会记录多种内容,包括: 时间 ...