原创 【文件系統製作】製作jffs文件系統

最近在寫專利,中期答辯前的必備材料還差一篇論文......抽一個週五的晚上來完善一下之前留下的坑,慢慢來吧,先把這些弄完,希望可以在下月中旬之前把論文弄好,然後專心學習...好運 1、Linux根文件系統基本目錄 /bin  :  該目錄

原创 實習總結【2】

  這個禮拜的主要目標是: libxxx_xx_xxx.c代碼重構優化,cleancode,減少圈複雜度,嵌套深度,代碼行數;按照編程規範(Linux內核風格)優化變量命名等等;(這個文件可以作爲最後答辯的成果進行展示) sdxx95模塊

原创 有符號數和無符號數混用的思考

參考文章: [1] C語言中無符號數和有符號數之間的運算 [2] 負數在計算機中怎樣存儲 [3] 二進制減法 1、負數如何在計算機中存儲? 原碼:10進制轉換成2進制是原碼,只不過正數的原碼是本身符號位爲0,負數的原碼符號位爲1(以下篇幅

原创 牛客一行輸入多個int型數的方法

案例: #include <iostream> #include <vector> #include <string> #include <sstream> using namespace std; int getNum(stri

原创 內存及字符串操作memcpy、memmove、strcpy、strcmp等常用標準庫函數的實現

之前對於一些標準庫函數都是拿來即用,沒有考慮過這個函數的優缺點及具體的實現形式,在實習期間,一個標準庫函數都是被二次封裝了的,還是很有趣的。比如對於malloc函數,內部的形式是void *malloc_s(int ENUM_TYPE,

原创 C之動態內存分配

在編寫程序時,通常並不知道需要處理的數據量,或者難以評估所需處理數據量的變動程度。在這種情況下,要達到有效的資源利用,必須在運行時動態地分配所需內存,並在使用完畢後儘早釋放不需要的內存,這就是動態內存管理原理。 動態內存管理同時還具有一個

原创 實習總結【1】

2019.06.24(禮拜一) (每個禮拜一好像要開部門大會,這個禮拜一剛來,下個禮拜應該要參加,估計要認識一大波人了...) 辦理入職手續(攜帶身份證,實習申請書)--> 籤實習協議 (實習時間) --> 下午(三節課) --> 第一節

原创 C宏定義函數#define Func() do{} while(0)

之前看到過一句話,說在C語言中幾乎每一個#define宏定義都是代碼的一個缺陷。 但是之前看到有個項目,包括在Linux Kernel裏面,在代碼中都有使用#define Func() do{} while(0)這種結構來定義被多次調用的

原创 Windows訪問Linux服務器共享文件夾--Samba

使用Linux服務器進行開發時,需要把文件傳到服務器上,一般使用FileZilla等類似軟件,但如果只是.c文件,每次只是修改了一點點,再使用這種軟件倒騰一下,就很浪費時間了,所以我們使用Samba建立Linux共享文件夾以供在windo

原创 0-1揹包問題

揹包問題是一種求最優解的問題,我們可以使用動態規劃(DP)和回溯法來解決這類問題 參考文獻: [1] 最通俗易懂的01揹包問題講解 動態規劃 動態規劃(Dynamic programming,DP)是一種在數學、計算機科學和經濟學中使用的

原创 memcpy、memmove、strcpy、strcmp等常用標準庫函數的實現

1、memcpy實現   /* 標準庫中的memcpy是要確保地址不重合 * 附加說明指針src和dest所指的內存區域不可重疊 */ /* 實現一: * 不考慮內存重疊 */ void *memcpy_s(void *des,

原创 常用排序方法總結

面試常見問題,手撕快排、歸併排序,或者手寫一些查找算法,比如二分查找等。 本片及下篇博客將分別總結常見的排序算法和查找算法,主要是基於C或者C++。 這些問題本質都不難,只要勤加練習,充分理解,方能記於心中。 1、冒泡排序   #inc

原创 C語言內聯函數

參考博客: [1] 內聯函數 —— C 中關鍵字 inline 用法解析 這篇文章寫得很好了,本博客主要針對上一篇博客的不足進行補充,同時從C語言編譯過程對內聯和宏定義函數進行比對,總起兩者的區別和優缺點。 1、內聯函數的使用方法 測試代

原创 總結【5】

  2019.07.22     2019.07.23   2019.07.24   2019.07.25   2019.07.26  

原创 Makefile入門【1】

對於驅動開發來說,掌握 Makefile書寫是至關重要的,也許公司項目有人會專門負責Makefile書寫,但你至少可以看得懂,編譯出錯時可以結合 Makefile 對問題進行快速定位,更何況萬一哪天PL讓你去寫 Makefile ....