理解和討論之前請先學會如何觀察辆沦!
計算機組成原理→DOS命令→匯編語言→C語言(不包括C++)贬养、代碼書寫規(guī)范→數據結構挤土、編譯原理、操作系統(tǒng)→計算機網絡误算、數據庫原理仰美、正則表達式→其它語言(包括C++)迷殿、架構……
對學習編程者的忠告:
多用小腦和手,少用大腦咖杂、眼睛和嘴庆寺,會更快地學會編程!
眼過千遍不如手過一遍诉字!
書看千行不如手敲一行懦尝!
手敲千行不如單步一行!
單步源代碼千行不如單步Debug版對應匯編一行奏窑!
單步Debug版對應匯編千行不如單步Release版對應匯編一行导披!
不會單步Release版對應匯編?在你想單步Release版C/C++代碼片斷的前面臨時加一句DebugBreak();重建所有埃唯,然后在IDE中運行。(一般人我不告訴他鹰晨!
)
單步類的實例“構造”或“復制”或“作為函數參數”或“作為函數返回值返回”或“參加各種運算”或“退出作用域”的語句對應的匯編代碼幾步后墨叛,就會來到該類的“構造函數”或“復制構造函數”或“運算符重載”或“析構函數”對應的C/C++源代碼處。
VC調試時按Alt+8模蜡、Alt+7漠趁、Alt+6和Alt+5,打開匯編窗口、堆棧窗口忍疾、內存窗口和寄存器窗口看每句C對應的匯編闯传、單步執(zhí)行并觀察相應堆棧、內存和寄存器變化卤妒,這樣過一遍不就啥都明白了嗎甥绿。
對VC來說,所謂‘調試時’就是編譯連接通過以后则披,按F10或F11鍵單步執(zhí)行一步以后的時候共缕,或者在某行按F9設了斷點后按F5執(zhí)行停在該斷點處的時候。