編譯核心模組的方法與編譯一般應用程式的方法略有不同. 我們會發現在核心源碼樹的層層目錄中, 都存在有Makefile.即這些Makefile是分層次組織的. 以往的核心版本中, 編譯模組比較麻煩, 需要我們對這些Makefile做出許多更改.2.6的核心採用了"kbuild"編譯系統, 簡化了這些問題. 關於kbuild, 可參考核心源碼樹中的 /Documentation/kbuild/modules.txt.編譯之前, 肯定是需要源檔案的. 這些源檔案可以放在核心源碼樹中,
今天在android的實驗上,碰到個問題,花了1個多小時查出問題並解決。這個問題比較隱蔽,不瞭解的話會浪費很多時間。先看代碼:在NewsListActivity.java中Intent intent = new Intent(NewsListActivity.this, NewsInfoActivity.class);intent.putExtra("ItemState",
要使用Distributed File System來降低成本,於是搜尋了開源的Distributed File System。經過安裝部署和測試,把我使用中碰到的一些問題總結一下, 希望對大家有所協助, 我也有一些問題沒有搞懂,希望和大家一起交流,共同進步。第一:CEPH網上搜尋了一些資料, 說 ceph 效能最高,C++編寫的代碼,支援Fuse,並且沒有單點故障依賴, 於是下載安裝, 由於 ceph 使用 btrfs 檔案系統, 而btrfs 檔案系統需要 Linux 2.6.34
htons和htonl函數具體應用htons和htonl函數,是用來將主機位元組順序轉換為網路位元組順序在進行網路抓包時,抓到的包的資料是網路位元組順序,在進行編程時,要進行主機位元組順序和網路位元組順序間的轉換。例如:(對一軟體進行抓包時,寫的一段小程式)ipp2p: if(get_u16(payload,0)==__constant_htons(0x0600) && get_u32(payload,2)==(plen-6)) {
i++與++i 請問下列的結果是甚麼呢? i=1 (一) k=(i++)+(i++)+(i++) (二) k=(++i)+(++i)+(++i) 回答:這樣的運算式的求值順序是沒有定義的。因為分號是一個順序點,而二元加號不是一個順序點,相鄰順序點之間的運算式的求值順序是任意的,並且它們的副作用只在下一個順序點之後才產生。不管是 k = (i++) + (i++) + (i++); 還是 k = (++i) + (++i) +
ACL的基本原理、功能與局限性 網路中常說的ACL是CiscoIOS所提供的一種存取控制技術,初期僅在路由器上支援,近些年來已經擴充到三層交換器,部分最新的二層交換器如2950之類也開始提供ACL的支援。只不過支援的特性不是那麼完善而已。在其它廠商的路由器或多層交換器上也提供類似的技術,不過名稱和配置方式都可能有細微的差別。本文所有的配置執行個體均基於Cisco
gcc產生靜態庫和動態庫一、庫檔案簡介簡單地說,庫(Library)就是一組已經寫好了的函數和變數、經過編譯代碼,是為了能夠提高開發效率和運行效率而設計的。庫分為靜態庫(Static Library)和共用庫(Shared library)兩類。靜態庫檔案的副檔名是.a,共用庫檔案的副檔名是.so(在CYGWIN環境下,分別叫做.o和.dll)。共用庫現在常常被叫做動態庫,是由於很多人借用了MS Windows的DLL(Dynamic Linked Library)這個詞。(1)靜態庫
預先處理命令之條件編譯(#ifdef,#else,#endif,#if等)預先處理就是在進行編譯的第一遍詞法掃描和文法分析之前所作的工作。說白了,就是對源檔案進行編譯前,先對預先處理部分進行處理,然後對處理後的代碼進行編譯。這樣做的好處是,經過處理後的代碼,將會變的很精短。 關於預先處理命令中的檔案包含(#i nclude),宏定義(#define),書上已經有了詳細的說明,在這裡就不詳述了。這裡主要是對條件編譯(#ifdef,#else,#endif,#if等)進行說明。以下分3種情況:
在linux下面用tcpdump 抓包非常方便, 但是抓的包要提取出來進行分析, 還是得用wireshark來過濾分析比較方便。 下面先介紹一下 TCPDUMP 的使用 例:tcpdump host 172.16.29.40 and port 4600 -X -s 500tcpdump採用命令列方式,它的命令格式為: tcpdump [ -adeflnNOpqStvx ] [ -c 數量 ] [ -F 檔案名稱 ] [ -i 網路介面 ] [ -r 檔案名稱] [ -s
String StringBuffer StringBuilder 三者的區別String是固定長度的字串,如果要發生變化必須重建新的執行個體;String 字串常量StringBuffer 字串變數(安全執行緒)StringBuilder 字串變數(非安全執行緒)簡要的說, String 類型和 StringBuffer 類型的主要效能區別其實在於 String 是不可變的對象, 而如果是使用 StringBuffer 類則結果就不一樣了,每次結果都會對 StringBuffer
已經有兩個多星期沒有去實驗室了!昨天實驗室的一同學給我發QQ訊息:“老師叫你和阿龍明天去實驗室”。我和阿龍心驚膽戰的認為肯定是因為久了沒有去實驗室了,老師找我們去談話!所以今天一大早就去實驗室了!靜靜地等著老師來! 老師來後並沒有找我們談話,說等另一個老師來了再說!這下心總算安些了……
最近寫了個微部落格戶端用到了Android-Universal-Image-Loader。在程式開發之前還不知道有Android-Universal-Image-Loader這麼個好東西 ,其實都一樣用起來非常的方便,大家可以看Demo,裡面有詳細的介紹。Android-Universal-Image-Loader 在使用的過程中碰到了一些問題。當時完全是按照官方的Demo來搭建的,但是始終程式運行不起來,會報以下錯誤:java.lang.RuntimeException:
va_start()va_end()函數應用:man: #include <stdarg.h> void va_start(va_list ap, last); type va_arg(va_list ap, type); void va_end(va_list ap); void va_copy(va_list dest, va_list
strtok:#include <string.h>char *strtok(char *str, const char *delim);char *strtok_r(char *str, const char *delim, char **saveptr);功能:分解字串為一組標記串。str為要分解的字串,delim為分隔字元字串。說明:首次調用時,str必須指向要分解的字串,隨後調用要把s設成NULL。 strtok在str中尋找包含在delim中的字元並用NULL('
Normal 0 7.8 pt 0 2 false false false MicrosoftInternetExplorer4 淺析:setsockopt()1. 如果在已經處於 ESTABLISHED狀態下的socket(一般由連接埠號碼和標誌符區分)調用closesocket(一般不會立即關閉而經曆TIME_WAIT的過程)後想繼續重用該socket:BOOL
linux 2.6.26 下擷取tcp資訊: tcph=skb_header_pointer(skb, protoff, sizeof(tcph), &tcph); //skb_header_pointer是個庫函數skb_header_pointer函數該函數本身很簡單,定義如下:/* #include <linux/skbuff.h>*/static inline void *skb_header_pointer(const struct sk_buff
1.甲去買煙,煙29元,但他沒火柴,跟店員說:“順便送一盒火柴吧。”店員沒給。 乙去買煙,煙29元,他也沒火柴,跟店員說:“便宜一毛吧。”最後,他用這一毛買一盒火柴。 這是最簡單的心理邊際效應。第一種:店主認為自己在一個商品上賺錢了,另外一個沒賺錢。賺錢感覺指數為1。第二種:店主認為兩個商品都賺錢了,賺錢指數為2。當然心理傾向第二種了。同樣,這種心理還表現在買一送一的花招上,顧客認為有一樣東西不用付錢,就賺了,其實都是心理邊際效應在作怪。 -...啟示:變換一種方式往往能起到意想不到的效果!
近段時間做畢業設計涉及到boa web伺服器的移植。在移植到ARM開發板的過程中,遇到很多的問題。現將移植步驟整理如下:(其中涉及到個人習慣和路徑問題,視各自情況而定)1.下載源碼:下載網址http://www.boa.org/boa-0.94.13.tar.gz,但實際上下載的包為boa-0.94.13.tar.tar2.解壓源碼包:將源碼拷貝到/usr/src目錄下,#tar -xvf boa-0.94.13.tar.tar之後,會在/usr/src目錄下產生boa-0.94.13目錄。3.
使用socket實現處理序間通訊:(UNIX domain中連線導向通訊) 使用通訊端除了可以實現網路間不同主機間的通訊外,還可以實現同一主機的不同進程間的通訊,且建立的通訊是雙向的通訊。man unix內容如下:NAME( 名稱) unix, PF_UNIX, AF_UNIX, PF_LOCAL, AF_LOCAL ? 用於本地內部進程通訊的套接 字。SYNOPSIS( 總覽 ) #include <sys/socket.h> #include
一個能成大事、受人尊重的男人,僅憑財富、地位和文憑遠遠不夠的,而是靠高人一籌的智慧和不斷提升的真本事。當今時代,風雲變幻,豪傑輩出,廣闊的舞台為男人們提供了成就偉業的無限可能性。作為一個不甘平庸的男人,要想儘快的脫穎而出,邁向事業的頂峰,是必須要藏幾種真本事在身的。從“想成大事”。到“能成大事”,這中間有一個漫長的過程要走。頭腦發熱的衝動,不計後果的盲動,都會走向願望的反面,把男人拖入失敗的深淵。任何動搖、猶豫,任何迷茫、消沉,都會打消進取的雄心,使大好的成功機會與自己失之交臂。在展開自己的行動