VS中Debug和Release版本的區別

之前寫過一段代碼,能在VS2013的Release下運行,但是不能在Debug下運行,所以又深入學習了一番,下面是學到的經驗。(橙色表示引用,紅色表示重點)

VS中的程序有Debug和Release兩個版本,其不同之處:

綜述:

? ? ? ?Debug程序通常比Release程序運行的慢,尤其在處理視頻方面,Release要比Debug快很多。在我看的資料中,似乎在Release模式下容易出現這樣的問題:變量雖然初始化,但是在看其值時卻發現是一個隨機的數,并不是初始化時的賦予這個變量的值。其原因大概是這樣的:

? ? ? ? Debug在初始化變量時,將每個字節位都賦成0xcc,代碼存在錯誤在debug方式下可能會忽略而不被察覺到。debug方式下數組越界也大多不會出錯。

? ? ? ? Release在初始化變量時,其賦值是近似于隨機的。如果你的程序中的某個變量沒被初始化就被引用,就很有可能出現異常:

? ? ? ? 用作控制變量將導致流程導向不一致;

? ? ? ? 用作數組下標將會使程序崩潰;

? ? ? ? 更加可能是造成其他變量的不準確而引起其他的錯誤。
所以在聲明變量后馬上對其初始化一個默認的值是最簡單有效的辦法,否則項目大了你找都沒地方找。

1、Debug通常稱為調試版,包含調試信息,不會做任何優化,便于程序員調試程序,有的錯誤類似數組越界,Debug模式下,一般不會報錯,但是Release就會;只有DEBUG版的程序才能設置斷點、單步執行、使用 TRACE/ASSERT等調試輸出語句

2、Release稱為發布版本,會進行各種優化,不包含提示信息,使得程序在代碼大小和運行速度上都是最優,一般不允許用戶在發布版調試,即在Release下,不允許調試。

參考:vs中debug和release版本的區別 - 一本書的傷痕 - 博客園

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/531108.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/531108.shtml
英文地址,請注明出處:http://en.pswp.cn/news/531108.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PS:3mm出血值

業余時間里,喜歡拍拍照,然后打印出來,但是每次打印的時候都得需要相館操作一通,原因是因為沒有3mm的出血值 1、點擊文件->新建,將寬度和高度設置為想要的大小,單擊確定。 2、點擊圖像->畫布大小&am…

C語言(CED)有排成一行的n個方格,用紅(Red)、粉(Pink)、綠(Green)三色涂每個格子,每格涂一色,要求任何相鄰的方格不能同色,且首尾兩格也不同色.求全部的滿足要求的涂法.

相信大家在高中數學課上都做過類似于涂色的排列組合問題,那么這個問題如何用程序語言——C語言解決呢? 一、總體思路(如果你只是需要代碼,請直接看代碼部分) 你應該重視思路,用C語言將之前數學課上的思路…

C語言(CED)多組字符串匹配,輸出所有重復出現的字符串,多次重復出現的只輸出一次就好。

最近遇到一道題目:多組字符串匹配,輸出所有重復出現的字符串,多次重復出現的只輸出一次就好。 舉個例子: input:qwer qwer sdfgh output:qwer 題意大致就是這樣,下面給出我的最終解答&#…

編譯原理:文法及其二義性(判定及消除)

(請先看置頂博文)本博打開方式,請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 學編譯原理時,會學到文法,老師在介紹完文法的相關定義后又介紹了文法的二義性,但是沒說到底是如何避免文法的二…

C語言(CED)與long long相關的知識

在寫代碼時,有時int、double定義的變量的范圍遠遠小于題目要求的范圍,那么現在就是使用long long的時候 1、 long long 是C99標準對整型類型做的一個擴展,每個long long類型的變量可以占8字節,每個字節8位,一共64位。…

C語言(CED)對于一個2行N列的走道。現在用1*2,2*2的磚去鋪滿。問有多少種不同的方式(遞歸求解)

又涉及到遞歸問題,這道題的大致內容是這樣的: (請用遞推方式求解)對于一個2行N列的走道。現在用1*2,2*2的磚去鋪滿。問有多少種不同的方式。下圖是一個2行17列的走道的某種鋪法。 提示:觀察前n個結果,可以…

C語言(CED)王老師爬樓梯,他可以每次走1級或者2級,輸入樓梯的級數,求不同的走法數(遞歸求解)

(請先看置頂博文)本博打開方式,請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 題目大意:王老師爬樓梯,他可以每次走1級或者2級,輸入樓梯的級數,求不同的走法數。例如:…

C語言(CED)查找最接近的元素(分治法/二分查找):在一個非降序列中,查找與給定值最接近的元素。(遞歸實現)

(請先看置頂博文)本博打開方式,請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 一、題目大意 查找最接近的元素(分治法/二分查找):在一個非降序列中,查找與給定值最接近的元素。…

C語言(CED)輸出前k大的數(分治法/局部快速排序):給定一個數組,統計前k大的數并且把這k個數從大到小輸出。

)輸出前k大的數(分治法/局部快速排序):給定一個數組,統計前k大的數并且把這k個數從大到小輸出。 [輸入] 第一行包含一個整數n,表示數組的大小。 第二行包含n個整數,表示數組的元素,整數之間以一個空格分…

C語言(CED)最長公共子序列----動態規劃第一題

一、動態規劃算法與分治法的異同 相同點: A、二者均是將待求解的問題分成若干子問題來求解。 B、二者在編寫代碼的時候,都要用到遞歸。 不同點: A、分治法求解的問題,在將問題分成若干子問題之后,其子問…

C語言(CED)01背包——動態規劃第二題

一、問題描述 給定n種物品和一個背包。物品i的質量Wi,其價值Vi,背包的容量為c。問如何選擇裝入背包中的物品,使得裝入背包中的物品總價值最大? 二、解題思想 01背包和最長公共子序列都是動態規劃題目中求最優解的問題&#xff0…

C語言(CED)gameboy接餡餅問題

一、題目大意 都說天上不會掉餡餅,但有一天gameboy正走在回家的小徑上,忽然天上掉下大把大把的餡餅。這餡餅別處都不掉,就掉落在他身旁的10米范圍內。餡餅如果掉在了地上當然就不能吃了,所以gameboy馬上卸下身上的背包去接。但由…

C語言(CED)遞歸實現漢諾塔問題

一、問題大意 大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片黃金圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。并且規定,任何時候,在小圓盤上都不能放大圓盤,…

C語言(CED)智力大沖浪——貪心算法第一題

一、題目大意 小偉報名參加中央電視臺的智力大沖浪節目,本次挑戰賽吸引了眾多參賽者,主持人為了表彰大家的勇氣,先獎勵每個參賽者m元。先不要太高興!因為這些錢還不一定都是你的!接下來主持人宣布了比賽規則&#xff…

C語言(CED)鋼條最優切割收益

目錄 一、題目大意 二、大致思路 三、具體實現 一、題目大意 一家公司購買長鋼條,將其切割成短鋼條出售,切割本身沒有成本,長度為i的短鋼條的價格為Pi。那給定一段長度為n的鋼條和一個價格表Pi,求鋼條的切割方案使得收益Rn最大。提示&…

C語言(CED)如何用sort函數根據結構體里的某一屬性進行排序

(請先看置頂博文)本博打開方式,請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 前幾天在編寫代碼的時候,突然要根據結構體的屬性進行從小到大的排序,這即是我寫這篇文章的導火索。 正如大家所知…

撰寫paper時,如何在word里輸入圖片或其他文獻(PDF)里的公式?(更新時間2022.03.01)

我們在寫paper時,經常會遇到在Word里編寫數學公式的問題,其中大多數公式是已經存在的,所以只需要識別、復制、粘貼即可,那么接下來,我就介紹一下“Mathtype”“Mathpix”的方法,分為所需軟件、軟件操作、公…

家里接入某運營商300M寬帶,為何網速還是很慢?(還未裝修房屋的請進來)

(請先看置頂博文)本博打開方式,請詳讀_liO_Oil的博客-CSDN博客_怎么把androidstudio卸載干凈 引言:家里接入300M的寬帶,但是自我感覺網速不佳,遂結合所學知識,對此問題進行分析、研究和調察&…

(CED)列指針與行指針的聯系與區別

一、列指針(豎為列) 1、列指針相關定義 列指針:被稱為是指針變量指向二維數組的某個元素 一般使用時會有如下定義: int a[3][4]{1,2,3,4,5,6,7,8,9,10,11,12}; int *p;而上述代碼定義的指針p,一般按照下表方式指向…

C語言(CED)C語言中雙引號和單引號的區別

最簡單的區別: 在字符型變量賦初值時,用單引號;為字符串變量賦初值時用雙引號! 具體區別: 1、大小 單引號引起的一個字符,其大小為1個Byte。 雙引號引起的字符串,因為在其結尾需加一個二進…