C++, 3DGame
查看一個與別人合作的項(xiàng)目的代碼,發(fā)現(xiàn)了一個“隱秘”的問題,模擬這個問題如下:
幸運(yùn)時這里它不會導(dǎo)致錯誤,這是由于:<1>我們使用C/C++的默認(rèn)函數(shù)調(diào)用方式__cdecl,也就是傳入的函數(shù)參數(shù)是由調(diào)用者清理的;<2>函數(shù)foo2沒有使用任何參數(shù)。這種做法肯定不值得提倡,但實(shí)際的項(xiàng)目中要避免還是不太容易,畢竟每個人的習(xí)慣不一樣,還有為了與框架協(xié)同工作,有時候可能也不得不這樣做。但是,一旦函數(shù)調(diào)用方式發(fā)生改變,或者被強(qiáng)轉(zhuǎn)的那個函數(shù)是帶參數(shù)的,而它又使用了這些參數(shù),隱秘的錯誤也就埋下了。
posted on 2007-03-07 13:38 Kooyu 閱讀(3061) 評論(1) 編輯 收藏 引用
思考中~~~ 回復(fù) 更多評論
Powered by: C++博客 Copyright © Kooyu