Time of Update: 2018-12-05
直接通過程式來分析,理論不說,網上一大堆:#include <stdio.h>void test(void){ printf("%s\n","Hello");}int main(int argc, char *argv[]){ test(); return 0;}下面來看看地址的轉移過程 ,gcc編譯後對a.out 進行objdump 反組譯碼結果如下(刪除一部分彙編代碼):00000000004004c4 <test>: 4004c4:55
Time of Update: 2018-12-05
核心定時器編程實質上,時鐘中斷處理常式執行Update_process_timers()函數,該函數調用run_local_timers()函數,這個函數處理TIMER_SOFTIRQ非強制中斷,運行當前處理器上到期的所有定時器。Linux核心所提供的用於操作定時器的資料結構和函數如下:1、time_list //在linux核心中,time_list結構體的一個執行個體對應一個定時器。 struct timer_list{ struct
Time of Update: 2018-12-05
//tasklet使用模板/*定義tasklet和底半部函數相關聯*/void xxx_do_tasklet(unsigned long);DECLARE_TASKLET(xxx_tasklet,xxx_do_tasklet,0);/*中斷處理底半部*/void xxx_do_tasklet(unsigned long){ ............}/*中斷處理頂半部*/irqreturn_t xxx_interrupt(int irq,void *dev_id,struct pt_regs *
Time of Update: 2018-12-05
用smb實現Linux和XP區域網路共用文中syste_username是建立給別人從網路訪問你的帳號,請注意修改。sudo apt-get installsambasudo apt-get installsmbfs設定訪問帳號添加一個系統帳戶為samba使用者sudo smbpasswd -asystem_usernamesudo gedit/etc/samba/smbusers在建立的smbusers檔案裡面加入system_username =
Time of Update: 2018-12-05
linux 電子書免費下載Linux ebook free downloadHardening Linux ebook free downloadLinux Cookbook ebook free downloadLinux on the Mainframe ebook free downloadLinux Unwired ebook free downloadLinux: Phrasebook ebook free downloadInside Linux ebook free
Time of Update: 2018-12-05
http://zhidao.baidu.com/question/2603897.htmlLinux是Unix***作系統的一種變種,在Linux下編寫驅動程式的原理和思想完全類似於其他的Unix系統,但它dos或window環境下的驅動程式有很大的區別.在Linux環境下設計驅動程式,思想簡潔,***作方便,功芤埠芮看?但是支援函數少,只能依賴kernel中的函數,有些常用的***作要自己來編寫,而且調試也不方便.本人這幾周來為實驗室自行研製的一塊多媒體卡編製了驅動程式,獲得了一些經驗,願與L
Time of Update: 2018-12-05
1、在配置Linux 編譯選項時,開啟相應的SPI 選項,如下所示 -> Device Drivers -> SPI support SPI support *** SPI Master Controller Drivers *** -*- Bitbanging SPI master <*> Samsung S3C24XX series SPI < > Samsung S3
Time of Update: 2018-12-05
開發環境:Winxp(主機)+ VisualBox +fedora9(虛擬機器2.6.25.4核心)功能: globalmem字元裝置架構分析(支援2個裝置),裝置檔案動態建立#include <linux/module.h>#include <linux/types.h>#include <linux/fs.h>#include <linux/errno.h>#include <linux/mm.h>#include
Time of Update: 2018-12-05
開始GeekOS之旅的時候,一開始就碰到了小麻煩,在自己64位的Fedora上編譯GeekOS的時候報如下錯誤:geekos/lowlevel.o: could not read symbols: File in wrong format斷定是平台問題.再去官網看了下:GeekOS is a tiny operating system kernel for x86
Time of Update: 2018-12-05
系統:ubuntu10.101、首先建立arm-linux-gcc交叉編譯環境: 下載arm-linux-gcc-3.4.1.tar.bz2 複製,解壓 #cd / 複製arm-linux-gcc-3.4.1.tar.bz2到當根目錄 #tar jxvf arm-linux-gcc-3.4.1.tar.bz2
Time of Update: 2018-12-05
我對Linux有強烈的好奇心,興趣;寫學習筆記會讓我有成就感;我記憶力實在不好。好吧,其實真正原因是:如果我能把自己學到的知識簡明扼要的講出來,寫出來,那便證明我真的學懂了我想學的知識。沒時間怎麼辦?將你想做的拆解為小任務、能擠出時間來完成的任務,一點點完成吧。有了時間和決心,不可能將變成不可避免。基於此,我給我要寫的Linux學習筆記列出了以下提綱:1、Linux? Ubuntu or CentOS? Linux安裝2、Bash shell?3、Linux檔案管理4、Linux常用命令5、Vi
Time of Update: 2018-12-05
Ubuntu:一、安裝JAVA。首先安裝java。因為Ubuntu裡面預設安裝了OpenJDK,可以先將其卸載。在終端輸入命令:sudo apt-get purge openjdk*。1、從sun首頁下載JDK for linux 版本。我下載的是jdk-6u37-linux-i586.bin。:點擊開啟2、切換到root使用者並切換到想要安裝的目錄。我的安裝目錄為/usr/lib/jvm/java。將下載的檔案拷貝到此目錄中。並使用命令:chmod a+x jdk-6u37-linux-i58
Time of Update: 2018-12-05
1、linux庫檔案分為靜態庫和動態庫兩種。靜態庫習慣以.a 結尾,而動態庫習慣以.so(shared object)結尾。而且必須以lib開頭。2、靜態庫的原則是“以空間換時間”,增加程式體積,減少已耗用時間;產生:在編譯時間候,先產生目標檔案.o,然後用ar檔案對目標檔案歸檔,產生靜態庫檔案。例如:ar -rc libtest.a myalib.o (注意:ar -rc 目標 .o檔案名稱),目標一定要以lib開頭。3、使用時候,在連結時候,加上選項 -l
Time of Update: 2018-12-05
.section .data#初始化的變數 output: .ascii "hello,world\n" #要列印的字串,.data為初始化值的變數。output是標籤,指示字串開始的位置,ascii為資料類型 .section .bss#未初始化的變數,由0填充的緩衝區 .lcomm num,20 #lcomm為本地記憶體地區,即本地彙編外的不能進行訪問。.comm是通用記憶體地區。 .section .text#組合語言指令碼 .globl
Time of Update: 2018-12-05
下載jdk1.7http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html下載後終端執行以下命令: sudo rpm -ivh jdk-7u21-linux-i586.rpm如果此時沒有安裝成功,執行: sudo rpm -ivh jdk-7u21-linux-i586.rpm --nodeps --force
Time of Update: 2018-12-05
傳統分區管理一旦確定分區的大小就很難改變,即使有些軟體工具可以做到,但是難免會讓一些資料丟失,也很靠譜。 使用LVM LogicalVolumeManager(邏輯卷管理)管理我們的分區後,我們可以任意的修改分區大小,不用擔心資料的丟失,這種動態分配分區的大小是我們最需要的。從此以後我們不必擔心分區滿了所帶來的困惑。使用隨身碟或CD啟動Linux安裝程式http://www.bjwilly.com/archives/325.html啟動Linux安裝程式之後,選擇“try to
Time of Update: 2018-12-05
這是一個非常有意思的話題,僅次於有關"病毒"的話題。相信很多 Windows 使用者都有整理硬碟的經曆。在很多 Windows 使用者眼裡,"硬碟用久了,會出現片段,速度會減慢,需要一個程式來整理,整理硬碟的時候不要做其它工作",這好像是天經地義的事情。 我也曾經津津有味的看著 Norton Defrag 一點一點的把我的硬碟排序,調整,用圖形的方式顯示出來,然後報告100% 沒有片段。你的硬碟現在已經達到最佳狀態。" 我現在才發覺我那時是多麼的幼稚。 Linux 和 UNIX
Time of Update: 2018-12-05
IDE 有些人在抱怨為什麼 Linux 沒有一個良好的 IDE 開發環境。Linux 現在已經有一些IDE 了,但是總是有很多問題。你是不是正在尋找,正在期望 Linux 某一天可以有一個VC那樣的開發環境?你有沒有發現你正在進入微軟給你設下的怪圈?你為什麼一定要用 IDE?你說:"IDE 開發迅速,調試方便,適合大型程式……" 那說明微軟的程式在你腦子裡已經比較根深蒂固,你需要好好清醒一下了,看看我來告訴你。 高明的 UNIX 程式員不用 IDE,IDE 從來就是給初級 Windows
Time of Update: 2018-12-05
RHEL4-RHDS2.1-x86_64.iso 04-Sep-2008 01:14 332167168RHEL4-RHDS2.1-x86_64.iso.md5 04-Sep-2008 01:23 59RHEL4-RHDS3-x86_64-disc1.iso 03-Sep-2008 18:37
Time of Update: 2018-12-05
Linux核心分析方法 Linux的最大的好處之一就是它的源碼公開。同時,公開的核心源碼也吸引著無數的電腦愛好者和程式員;他們把解讀和分析Linux的核心源碼作為自己的最大興趣,把修改Linux源碼和改造Linux系統作為自己對電腦技術追求的最大目標。