原创 C時間函數的應用

1,時間的獲取:通過time()函數來獲得日曆時間(Calendar Time),其原型爲:time_t time(time_t * timer);#include "stdafx.h"#include "time.h"#include

原创 vi中結合ctag查找函數聲明

本人以前做windows方面開發,在windows下面寫代碼大多依靠功能強大的集成開發環境IDE,如微軟的Visual studio 系列,IBM的Eclipse, Borland的JBuilder,Delphi等等。現在突然轉到Linu

原创 Source Insight的具體用法

今天學習了Source Insight的具體用法,現列出教程,以備後用。 作爲一個開放源代碼的操作系統,Linux附帶的源代碼庫使得廣大愛好者有了一個廣泛學習、深入鑽研的機會,特別是Linux內核的組織極爲複雜,同時,又不能像window

原创 如何做一名成功的IT工程師

進入到IT這個圈子,很多人是從工程師開始做起的,那麼如何成長爲一名成功的工程師呢?或者是如何成功地轉換爲下一個角色呢?你需要做哪些準備呢?作爲MDE(

原创 可重入函數

 一、可重入函數   1)什麼是可重入性?   可重入(reentrant)函數可以由多於一個任務併發使用,而不必擔心數據錯誤。相反,   不可重入(

原创 對前幾天內核編譯的小結

在新的F13十分順暢的完成了內核的編譯, 幾乎沒有遇到任何阻力, 可見版本差異還是關鍵問題. 不過最後, 由於只給了虛擬機12g的容量, 最後居然不夠用了, 一來是因爲我的內核配置幾乎完全按照發行版的選項, 二來10g容量可能是小了些.

原创 如何做一名成功的IT工程師 – 續(MDE版)

我在MDE這個團隊做了4年了,基於過去的經驗,談談做MDE工作的感受吧。做MDE的工程師,和售前,售後,服務的工程師的工作有一定的相似性。MDE的全名是Market Development Engineering,所做的工作是幫助ISV在

原创 內核編譯(一)

大致流程爲:下載內核代碼 -> 修改內核配置(make menuconfig/gconfig/xconfig) -> 構建內核( make  ) -> 安裝內核( make modules_install -> make install

原创 LDD讀書筆記——字符設備驅動程序

編寫字符設備的驅動程序一般流程: 定義驅動程序爲用戶程序提供的能力(機制); 決定模塊的核心數據結構,如:描述設備的,描述設備數據在內存中的存放形式的等; 確定主、次設備號; 通過/proc/devices可獲得設備的主設備號,依此在/

原创 LDD讀書筆記——併發與競態

信號量semaphore         down_interruptible故名思義是可以被中斷的(這也是爲什麼要檢查返回值的原因),而與之對應的是down無法被中斷,這個接口是一般不用的。 讀寫信號量rwsem( read/writ

原创 關於copy_to_user和copy_from_user的學習小結

花了一天時間,希望能理解這兩個接口和內核空間下對用戶空間數據的拷貝問題,可惜事與願違,雖有收穫,還是留下了很多問題。 遺留的問題 首先,關於內核空間下是不允許發生頁面錯誤的疑惑: 1.內核的內存空間本身就具有虛擬性的概念,那麼當內核的內

原创 LDD讀書筆記——調試技術

本章主要分爲四個部分:通過日誌(打印)調試,通過proc(查詢)調試,通過strace(監視)調試以及通過kgdb調試。kgdb簡單看了下,沒動手,感覺作用不是很大,如果以後有需要再回頭看。先按章節來總結。 通過日誌調試        

原创 內核編譯(三)

爲了內核的問題請教了tinnal, 他指出了三處問題: 1. 編譯的命令使用的是Make defconfig;  2. 文件系統, 尤其是LVM的問題; 3. 編譯環境的內核版本比要編譯的內核版本高太多; 按照這個思路, 首先, 在原內

原创 gcc4.7編譯linux2.6.30的錯誤解決方法

    1.arch/x86/kernel/ptrace.c:1472:17: error: conflicting types for 'syscall_trace_enter'         解決方法:  Patch --- l

原创 Tcpdump的使用

來源:http://www.china-pub.com/computers/emook/0424/info.htm 作者:李國莉  tcpdump採用命令行方式,它的命令格式爲:   tcpdump [ -adeflnNOpqStvx ]