原创 unix環境高級編程源碼下載地址

http://www.apuebook.com/

原创 stm32開發總結

開發實現步驟總結 1 準備相關資料: 原理圖 器件位圖 stm32用戶手冊 coreM3的手冊。需求文檔 設計文檔 控制策略文檔。 2 確認MCU引腳 時鐘 中斷 和功能模塊的配置  3 功能實現調試 4 異常處理 日誌打印 5 代碼re

原创 查找文件的內容

grep -rn "main" ./ -C 5

原创 進程線程ps top

1 查看進程id ps -ef | grep proc_name 2 查看進程中所有線程  ps -T -p 26736 3 查看進程中線程的cpu使用率 top -H -p 26736  

原创 stl list algorithm

list push_back for_each merge unique  #include <iostream> #include <list> #include <algorithm> using namespace std;

原创 rt-thread學習地址

https://www.rt-thread.org/document/site/

原创 函數使用的安全性

如果是自己寫的函數裏用到了全局變量,則這些函數不是線程安全的,多線程同時調用時需要加鎖。 如果自己寫的函數只用到了局部變量,那就是ok的,怎麼用都沒問題,所以既是線程安全又是可重入的。 如果是庫函數需要分配系統資源,內存等,比如mallo

原创 殭屍進程的壞處和避免

殭屍進程的危害 由於子進程的結束和父進程的運行是一個異步過程,即父進程永遠無法預測子進程 到底什麼時候結束. 那麼不會因爲父進程太忙來不及wait子進程,或者說不知道 子進程什麼時候結束,而丟失子進程結束時的狀態信息呢? 不會.因爲UNI

原创 文件IO和標準IO

linux應用程序多用標準IO,fopen fclose 等,因爲它有緩存效率高,是C庫的函數。 unix系統實現了文件IO函數,open read write close 等,是系統函數到內核執行,不緩存的,所以效率低。 應用程

原创 流程圖時序圖模塊圖工具PlantUML

時序圖 https://blog.csdn.net/zh_weir/article/details/72675013 組件圖 https://blog.csdn.net/zh_weir/article/details/53020369  

原创 查找指定文件名的文件是否存在

find ./ -name 'file_name'

原创 文件相關讀

1 實時觀察文件新增內容 tail -f proc_module.log  2 查看最後100行文件內容  tail -n 100 proc_module.log  3 查看文件中所有帶關鍵字的內容的前後5行 cat  proc_m

原创 進程前後臺切換

1. command &讓進程在後臺運行 2. jobs –l 查看後臺運行的進程 3. fg %n 讓後臺運行的進程n到前臺來 4. bg %n 讓進程n到後臺去; PS:“n”爲jobs查看到的進程編號。

原创 查找文件中所有符合關鍵字的內容並都替換爲新的內容

 sed -i "s/原字符串/新字符串/g" `grep 原字符串 -rl 所在目錄`  

原创 嵌入式軟件開發的技術

c語言編程 :基礎知識  庫函數的熟悉和實現  開發規範 linux環境和程序設計:命令行 shell,unix高級編程 數據結構和算法:堆 棧 樹 圖,查找 排序的時間空間複雜度, 軟件設計和實現技術: 編程思想 設計模式 重構 問題定