原创 自己學驅動4——SourceInsight代碼閱讀工具

使用SourceInsight閱讀Linux源碼 1.啓動SourceInsight,啓動之後因爲默認環境沒有支持.S彙編代碼的閱讀,所以需要添加對

原创 自己學驅動6——uboot代碼閱讀一(start.S)

uboot中的start.S文件開頭的這段代碼:.globl _start _start: b reset ldr pc, _unde

原创 網絡端口號說明

端口號從0~65535一共65536個被分爲三類: 1) 公認端口(Well Known Ports):從0到1023,它們緊密綁定於一些服務。通常

原创 Linux內核態與用戶態數據交換方式(一)

在Linux下用戶空間與內核空間數據交換的方式一     本系列文章包括兩篇,它們文詳細地介紹了 Linux 系統下用戶空間與內核空間數據交換的九種

原创 C語言中main函數的參數詳解

main函數的定義形式         main函數可以不帶參數,也可以帶參數,這個參數可以認爲是 main函數的形式參數。C語言規定main函數的參數只能有兩個,習慣上這兩個參數寫爲argc和argv。所以C99標準中規定只有以下兩種定

原创 ping命令和tracert命令

ping命令         當我們在使用ping命令測試網絡是否連通的時候,輸出的最後一項一般都是TTL=XX這樣的形式,那麼TTL到底代表什麼呢

原创 自己學驅動3——ARM-THUMB子程序調用規則ATPCS

    爲了使C語言程序和彙編程序之間能夠互相調用,必須爲子程序間的調用制定規則,在ARM處理器中,這個規則被稱爲ATPCS(ARM-THUMB p

原创 習題四——數字智力題

1.找出規律並填寫:16 96 12;10 () 15 分析:這個題網上搜了,但是感覺有一種還是比較靠譜的,就是16*12/2=96,所以10*15

原创 C語言中的零長度數組使用說明

C語言中的零長度數組用法詳解     在C語言中允許在結構體和聯合體中定義零長度的數組,寫法可以是以下兩種: char p[]或者char p[0]

原创 習題三——C語言筆試題

1.下面的程序片段的輸出爲? #include <stdio.h> #include <string.h> int main(void) {   

原创 面試題&筆試題:求1+x+x^2+x^3+...+x^n的和(儘可能少的使用乘法運算)

題目:求1+x+x^2+x^3+...+x^n的和(儘可能少的使用乘法運算)。 分析:可以使用折半的方式,每次計算兩個的和,比如首先計算出1+x的值保存,然後用保存的這個值乘以x^2可以得到後面兩項的值再保存,依次類推直到計算結束。需要注

原创 網絡編程中設計併發服務器,使用多進程與多線程有什麼區別?

網絡編程中設計併發服務器,使用多進程與多線程,請問有什麼區別? 答案一: 1,進程:子進程是父進程的複製品。子進程獲得父進程數據空間、堆和棧的複製品

原创 linux進程調度方法簡述

在 Linux2.6 中,仍有三種調度策略: SCHED_OTHER、SCHED_FIFO 和 SCHED_RR。   SCHED_ORHER:普通

原创 C語言指針——指針的運算

    說指針之前,先說兩個比較不相關的東西,也當做是一種知識的補充。看下面的代碼: #include <stdio.h> int main(voi

原创 Linux內核態與用戶態數據交換方式(二)

    本系列文章包括兩篇,它們文詳細地地介紹了Linux系統下用戶空間與內核空間數據交換的九種方式,包括內核啓動參數、模塊參數與sysfs、 sy