Debug和Release:
創(chuàng)新互聯(lián)長期為成百上千家客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網生態(tài)環(huán)境。為綿竹企業(yè)提供專業(yè)的成都做網站、網站建設,綿竹網站改版等技術服務。擁有十年豐富建站經驗和眾多成功案例,為您定制開發(fā)。Debug:包含調試信息,不優(yōu)化版本
Debug文件夾:調試版本的可執(zhí)行程序
Release:已經優(yōu)化的版本
優(yōu)化:可能包括地址的改變等,release 出現(xiàn)的問題debug可能沒有,debug出現(xiàn)的問題release可能沒有。
Release文件夾:優(yōu)化版本的可執(zhí)行程序
IDE:集成開發(fā)環(huán)境vs2022-IDE-集成開發(fā)環(huán)境=編輯器+編譯器+調試器
Linux:
gcc-編譯器(C++編譯器)
gdb-調試器
快捷鍵F5:啟動調試,跳到斷點處
斷點在循環(huán)中可多次停下(只要符合條件)
斷點中可以設置停下來的條件
調試過程中,箭頭指向下一條執(zhí)行的語句·
F10,逐過程,跳過自定義函數
F11:逐語句,進入函數內部
綠色開始鍵:可以實現(xiàn)跳躍執(zhí)行
CTRL+F5:直接執(zhí)行,不會在斷點停下
調試窗口:監(jiān)視/自動窗口/局部變量:變量變化
監(jiān)視數組:進入函數中內部難以監(jiān)視,輸入數組名,n元素個數,觀察到前n個元素的值
內存:地址:&a 或者地址的16進制
內存顯示的內容:地址 內容 參考信息
反匯編:代碼在匯編代碼是怎么樣的
寄存器:觀察到寄存器的值
調用堆棧:模擬函數調用邏輯
變量名和寄存器的值
拓展:
數據結構:
棧:從頂放,從頂出
常用coding技巧:1.使用assert
斷言:assert(exp1)
表達式如果為假就報錯,如果為真就就不發(fā)生。
assert在realease中優(yōu)化
2.盡量用const
3.養(yǎng)成良好的編碼風格
4.必要的注釋
5.避免編碼陷阱
eg:1.傳址函數中避免地址為空指針:用assert對指針為空的情況判錯
2.加const防止地址被修改
const 修飾指針變量時:
int* const p:修飾的是p,不能變p指向的變量,p指向的變量的值可以變,
const int *p:修飾的是p指向的對象,p指向的對象可變,p指向的變量不能變,
const int * const p:修飾的是p和p指向的對象,p指向的對象不變,p指向的變量不能變
3.根據正負等選擇合適的返回值
4.軟件everything來看代碼
5.常量字符串是不能改的
常見錯誤:編譯錯誤:
鏈接錯誤:
無法解析外部符號xxx
找xxx
運行錯誤:
語法正確,結果不是我們想要的。
你是否還在尋找穩(wěn)定的海外服務器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準確流量調度確保服務器高可用性,企業(yè)級服務器適合批量采購,新人活動首月15元起,快前往官網查看詳情吧