類繼承情況如下圖:
**如下:
class a
; int a;
};class b : public virtual a;};
class c : public virtual a;};
class d:public b,public c
;protected:
private:
int val;
};#include using namespace std;
int main()
記憶體布局圖如下:
單步調試圖如下:
圖一 剛剛main函式過後的記憶體棧
圖二 剛剛main函式過後的虛函式表
圖三 單層虛擬多繼承剛到aa時的記憶體棧圖
圖四 單層虛擬多繼承aa執行之後的記憶體棧圖
圖五 單層虛擬多繼承剛到bb時的記憶體棧圖
圖六 單層虛擬多繼承bb執行之後的記憶體棧圖
圖七 單層虛擬多繼承剛到cc時的記憶體棧圖
圖八 單層虛擬多繼承cc執行之後的記憶體棧圖
圖九 單層虛擬多繼承剛到dd時的記憶體棧圖
圖十 單層虛擬多繼承dd執行之後的記憶體棧圖
剛到main函式過後的時候虛函式表就存在了,所以就不用上傳了。
圖十一 虛函式表
vc6 0 除錯小結
現在都用vs2008了,vc6的速度還是很懷念,來個小結吧。斷點相關快捷鍵 1.f9在當前游標所在的行下斷點,如果當前行已經有斷點,則取消斷點.f5除錯狀態執行程式,程式執行到有斷點的地方會停下來.f10單步執行程式.ctrl f10執行到游標所在行.f11和f10的區別是,如果當前執行語句是函式呼...
VC 6 0遠端除錯
先明確下概念,遠端除錯嘛,自然是兩個機器之間除錯。程式執行在目標機器上,偵錯程式執行在本機。當然,目標機器上還是要有少許輔助程式才能跟本機的偵錯程式connect上,以便通訊。一般來說,只需要copy四個檔案到目標機器上就行了 msvcmon.exe dm.dll tln0t.dll和msdis11...
VC 6 0遠端除錯
vc開發環境之所以提供遠端除錯的能力,是因為有些情況下單機除錯會讓你崩潰掉。比如,除錯gui程式的wm paint訊息,因為要單步除錯,所以偵錯程式會對介面的重繪產生 heisenberg不確定性原理 當然還有些別的情況也適用,比如程式在測試環境執行的好好的,但是在客戶那行為總是異常,這時候如果可以...