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

QtCreator中三种不同编译版本 debug、release、profile 的区别

  • 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模式。


推荐一个零声学院项目课,个人觉得老师讲得不错,分享给大家:
零声白金学习卡(含基础架构/高性能存储/golang云原生/音视频/Linux内核)
https://xxetb.xet.tech/s/VsFMs

http://www.lryc.cn/news/149138.html

相关文章:

  • golang中map赋值
  • myspl使用指南
  • 【深度学习_TensorFlow】过拟合
  • uniapp授权小程序隐私弹窗效果demo(整理)
  • c++学习之string实现
  • kubevirt虚机创建svc通过NodePort的方式暴露端口
  • Elasticsearch终端命令行用法大全
  • nacos版本升级注意事项
  • JavaScript作用域与作用域链
  • MQTT异常掉线原因
  • 重新理解百度智能云:写在大模型开放后的24小时
  • Stable Diffusion 提示词技巧
  • VS2019编译curl库
  • yolov5自定义模型训练三
  • 服务器中了mkp勒索病毒该怎么办?勒索病毒解密,数据恢复
  • Docker环境搭建Prometheus实验环境
  • Python Qt学习(七)Listview
  • 哈希表HashMap(基于vector和list)
  • go中的函数
  • 小试 InsCode AI 创作助手
  • 粉丝经验分享:13:00 开始的面试,13:06 就结束了,问题真是变态
  • SASS的@规则
  • 【C++初阶】模拟实现优先级队列priority_queue
  • 如何为你的公司选择正确的AIGC解决方案?
  • Windows下将nginx等可执行文件添加为服务
  • 视觉SLAM14讲笔记-第4讲-李群与李代数
  • 浅析Redis(1)
  • 【每日一题】2337. 移动片段得到字符串
  • MySQL 数据库常用命令大全(详细)
  • 中国移动加大布局长三角,打造算力产业新高地