最近的專案由於對ram的要求非常高,所以使用了外部sram,所使用的作業系統ucos-ii也使用了記憶體管理,即記憶體申請和釋放,得到經驗如下:
1、所執行應用程式第一次是正確的,執行第二次出錯,經過排查,在釋放的時候osmemput(commramc_ptr,(xstring*)&sscommand_ptr[i]) ,釋放的是申請的記憶體的指標位址的位址,(注:sscommand_ptr[i]本身為記憶體的位址),應改為osmemput(commramc_ptr,(xstring*)sscommand_ptr[i])
2、在執行的時候老是到硬體錯誤,經觀察在串列埠接收的時候所申請的記憶體的位址溢位,與定義的任務中的緩衝區的位址相衝突,經測試發現是定義的資料緩衝區長度不足以放下接收的資料,導致緩衝區溢位,位址出錯,導致硬體錯誤。
程式設計比賽中發現的問題
今天學校舉行程式設計比賽,我用的是c語言,在比賽的過程中我犯了乙個以前沒有注意到的錯誤 型別轉換。錯誤 如下 float a scanf lf a printf f a 當輸入1的時候,輸出結果為0.000000。改成下面這樣 double a scanf f a printf lf a 輸入為1的...
專案中遇到的一些小問題
question1.如何將bstr型別的字元轉換為小寫?bstr str 初始化 cstring tmp str str.makelower bstr t bstr tmp 這樣就可以了,bstr t只是對bstr的包裝而已,可以直接轉換 question2.如何獲取當前的登陸使用者名稱?wchar...
專案中解決小問題的各種方法
一 獲取html標籤中的文字內容 去除html標記 包括html的原始碼 已經去除後的文字 public static string nohtml string htmlstring 二 擷取字串 擷取字串 按全形長度,乙個全形等於兩個半形 字串 擷取長度 全形 public static stri...