QT运行时的Debug、Release、Profile选项区别
其中Debug和Release我們都是耳熟能詳?shù)摹?br /> ?
前者是以-g模式編譯,帶著符號信息,便于我們調(diào)試。
?
后者是經(jīng)過優(yōu)化之后,性能更上一個檔次的。
?
而根據(jù)官方說明,profile則是在這兩種之中取一個平衡,兼顧性能和調(diào)試,可以類似的看做是性能更優(yōu)但是又方便調(diào)試的版本。
- debug調(diào)試模式,編譯后的可執(zhí)行文件很大,帶了很多調(diào)試符號信息等,方便開發(fā)階段調(diào)試的時候進入具體的堆棧查看值。會打開所有的斷言,運行階段性能差速度慢,可能會有卡頓感覺。
- release發(fā)布模式,編譯后的可執(zhí)行文件很小,不帶任何調(diào)試符號信息,一般用于打包發(fā)布程序。由于經(jīng)過了各種優(yōu)化,會關閉所有斷言,運行階段性能最好,如果有卡頓那肯定是你的程序問題。
- profile概述模式,編譯后的可執(zhí)行文件比debug小很多比release大一點,帶有部分調(diào)試符號信息,在debug和release之間取一個平衡,兼顧性能和調(diào)試,性能更優(yōu)但是又方便調(diào)試。
- 使用Qt5.7版本對應三種模式編譯的空白窗體程序大小:debug(1319kb)、release(24kb)、profile(90kb)。
- debug鏈接的庫是帶d結尾的,release和profile鏈接的庫是不帶d結尾的,很多人以為profile鏈接的是帶d結尾的其實是錯誤的。
- 新的Qt在線安裝程序在安裝的時候,可以勾選是否安裝debug調(diào)試庫(對應lib目錄下一堆帶d結尾的文件),以前的版本是默認都安裝,現(xiàn)在可選安裝以便減少體積。
- 無論是否安裝了debug調(diào)試庫,你都可以選擇debug模式生成對應debug的文件,這個不知道怎么做到的。
- 無論是哪種模式,都可以在程序中開啟日志鉤子輸出日志信息,方便收集運行階段的各種信息反饋給開發(fā)人員查看問題。
- 最初的開發(fā)工具一般是具有debug和release兩種模式,隨著用戶需求的增加和場景的需要,部分開發(fā)工具衍生出了profile模式,更有甚者比如flutter還有第四種test模式。
參考:QT creator中Debug、Profile、Release的區(qū)別_Jokey92的博客-CSDN博客_profile和release
關于QtCreator中三種不同編譯版本 debug、release、profile 的區(qū)別 - 知乎
總結
以上是生活随笔為你收集整理的QT运行时的Debug、Release、Profile选项区别的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何解决wmv/asf/asx格式转成m
- 下一篇: DataQL