linux 程式設計實用技巧

2021-07-30 05:54:01 字數 923 閱讀 4114

1:sizeof()引數為指標的問題。

int * i;  int j[10];

sizeof(i);//sizeof引數為指標時,返回指標資料型別所佔空間,一般為4(unsigned int 所佔byte);

sizeof(j);//sizeof引數為陣列時,返回陣列所佔空間,此時為4*10=40;

2:多執行緒中需考慮重入的問題。

localtime()與localtime_r()的區別:localtime 會在棧記憶體中開闢儲存空間,當多個localtime同時執行時,結果存放在同乙個記憶體空間,會出現典型的多執行緒race condition問題,即同一塊棧記憶體空間被不同執行緒訪問,記憶體的資料取決於最後乙個執行寫的執行緒。

可用localtime_r替代localtime ,即將資料儲存在使用者空間中。

3:棧記憶體優化的問題:

進棧和出棧會消耗大量的資源,一般為function(void *,size_t)模型,傳遞資料的指標,以及資料的大小,避免資源消耗。

4:結構中儲存字串的問題,

struct t;

ta儲存字串時,必須先初始化0,並且確保儲存的strlen(ptr)長度小於12,以保證正確讀取字串,或者利用3的方式,在函式中傳入size_t,確保字串下標。

5:在編譯安裝時,提示缺少庫;

如編譯 ffmpeg ;./configure --enable libfaac ;

提示error libfaac not found ;

搜尋該庫的dev版本;執行apt-cache search libfaac ;列印出

libfaac-dev - aac audio encoder (development)

libfaac0 - aac audio encoder (library)

執行 apt-get install libfaac-dev;即可

Linux 實用技巧

值得一提的是vim是慈善軟體 charityware 如有贊助或評比得獎,所得將全部救助烏干達孤兒,軟體使用是免費的,歡迎手頭有點閒錢的使用者捐款贊助,如果沒銀子也沒關係,至少當有評比活動時 有獎金可拿的那種 應用技巧一 快速注釋 1 連續行注釋 使用vim vi編輯shell指令碼,在進行除錯的時...

linux實用技巧

vim運用 linux查詢檔案 vi filename 開啟檔案,將游標置於第一行首 vi n filename 開啟檔案,將游標置於第n行首 vi filename 開啟檔案,將游標置於最後一行行首 vi filename.filename 開啟多個檔案依次編輯 按 ctrl b 螢幕往 後 移動...

Linux下vim實用技巧

vim是從 vi 發展出來的乙個文字編輯器。補完 編譯及錯誤跳轉等方便程式設計的功能特別豐富,在程式設計師中被廣泛使用。簡單的來說,vi 是老式的字處理器,不過功能已經很齊全了,但是還是有可以進步的地方。vim 則可以說是程式開發者的一項很好用的工具。linux下vi vim 共分為三種模式,分別是...