這兩天自己湖南dvb_c的程式經常會在操作時莫名的宕機。由於沒有規律,所以不知道是哪個地方出 錯了,自己也為此苦惱了一天,把程式看了又看也不知道出了什麼問題。 不過由於是在密碼輸入時候出現的宕機,而且是操作一會兒後才有不規律的宕機,我猜想記憶體可能出問題了,因為在密碼輸入由於要備份介面上的東西,所以會動用大量的記憶體來儲存當前介面上的一些資訊。一般這種不規律的宕機是由指標引起的。
於是經過自己的不斷的操作終於在**的時候宕機了,而且出現了列印資訊,正如自己所料,出錯提示是沒有足夠的記憶體分配。
現在問題來了,雖然沒有足夠的記憶體來分配,但是也至於要死機啊?一查自己的函式發現自己在分配記憶體不成功的狀態下依然往下執行程式,於是出現了空指標的操作導致宕機。
出現這種問題,自己也不知道該怎麼總結自己的錯誤,只能說沒在意這個問題,沒有對這個問題引起足夠的重視。在寫程式的時候,自己也許根本沒有想過如果分配記憶體不成功的話怎麼去處理。總以為這個地方是不錯出錯的,就像1+1=2一樣。沒想到在自己程式架構建設不合理的情況下,這種錯誤就產生了。如果這個地方早點加個出錯判斷的話,那有問題的時候就很好追蹤了。其實是非常簡單的一句判錯的話,但是我就沒加。以前看以一位比我經驗多工程師的程式,發現判錯的地方很多,總覺得沒有必要,現在 終於知道了是很有必要的啦。
通過此事使我懂得寫程式的一些必須注意事項:
1.盡量給自己的程式能加出錯判斷的地方都加上出錯判斷,也許正常操作是不會出錯的,但是如果 程式執行部正常的時候呢?那樣就可以給自己節約很多的差錯時間。
2.自己似懂非懂的函式千萬不要新增到程式中去,新增進去的程式一定要自己完全了解透徹的。
3.永遠記住任何時候寫程式都要非常細心。
由return聯想到的
大多數函式都包含一條return 語句,return 語句導致函式停止執行。使函式停止執行的還有break,throw,他們叫強制跳轉語句。return語句使函式停止執行,如果 塊裡為 return 或者 沒有return 那麼函式會返回乙個undefined值給呼叫者。另外,在控制台為什麼會返回u...
由修電腦聯想到的
當初學計算機應用這個專業肯定沒想到日後最大的需求是為我周圍的電腦菜菜們的排憂解難,在我看來這個專業應該屬於益工型的專業,假如你說憑他找工作,當個職業幹,基本上想賺錢很難,而且十分瑣碎,頂著個所謂的技術工程師的帽子其實和看門大爺,服務員和水電工區的工作沒有什麼區別。在此我只涉及我接觸過的網管類以及技術...
由球賽聯想到專案管理的那點事兒
大家看比賽,無論是足球還是籃球,總是會分聯賽還是盃賽,尤其是nba,還有常規賽,還有季後賽。但是不知道大家注意沒有聯賽和盃賽因為性質不同,所以教練帶的方法也是不一樣的。聯賽更多的講的是內功,注意多維度的考慮問題,需要注意人才培養,需要注意整體配合,需要在某些很容易打的場次,讓主力們休息,等等。不過盃...