Time of Update: 2018-12-04
其實像這樣的文章網上一搜一大堆,又千篇一律,中國的網路世界就是這樣一個特點,今天我也沒有逃過這樣的“特點”,轉載確實讓我省了很多的文字輸入,但是千篇一律的錯誤也被轉載是我不能容忍的,實驗之後,將錯誤之處一一更正,希望錯誤不再被繼續轉...1.linux 系統調用的基本原理 linux的系統調用形式與POSIX相容,也是一套C語言函數名的集合。然而,linux系統調用的內部實現方式卻與DOC的INT 21H相似,它是經過INT
Time of Update: 2018-12-04
Linux系統UID和GID詳解 一個檔案都有一個所有者, 表示該檔案是誰建立的. 同時, 該檔案還有一個組編號, 表示該檔案所屬的組, 一般為檔案所有者所屬的組. 如果是一個可執行檔, 那麼在執行時, 一般該檔案只擁有調用該檔案的使用者具有的許可權. 而setuid, setgid 可以來改變這種設定. setuid: 設定使檔案在執行階段具有檔案所有者的許可權. 典型的檔案是 /usr/bin/passwd. 如果一般使用者執行該檔案, 則在執行過程中,
Time of Update: 2018-12-04
幾乎每一種外設都是通過讀寫裝置上的寄存器來進行的,通常包括控制寄存器、狀態寄存器和資料寄存器三大類,外設的寄存器通常被連續地編址。根據CPU體繫結構的不同,CPU對IO連接埠的編址方式有兩種: (1)I/O映射方式(I/O-mapped) 典型地,如X86處理器為外設專門實現了一個單獨的地址空間,稱為"I/O地址空間"或者"I/O連接埠空間",CPU通過專門的I/O指令(如X86的IN和OUT指令)來訪問這一空間中的地址單元。 (2)記憶體映射方式(Memory-mapped) R
Time of Update: 2018-12-04
/* use the "crypt" function to encrypt the passward of the logining user the declaration of the function is: char *crypt(const char *key, const char *salt); key : the passward to encrypt salt: contain two character ([a-zA-Z0-9./]) here we set "salt"
Time of Update: 2018-12-04
1、如果需要將程式移植到其他系統,如arm-linux上,則需要安裝tool-chain2、將開發包解壓3、/configure4、如果需要移植到arm-linux,修改Makefile檔案,cc=arm-linux-g++ ar= arm-linux-ar ld=arm-linux-ld5、make6、make install7、將編譯產生的庫的鏡像檔案拷貝至/lib下,預設組建目錄在/user/local/lib8、編譯器:arm-linux-g++ souce.cpp -ljrrtp -
Time of Update: 2018-12-04
/**************************************** Author : 李亞楠* Time : 2006-04-02* function: 檢測本機網路****************************************/#include <stdio.h>#include <stdlib.h>#include <string.h>#include <errno.h>#include
Time of Update: 2018-12-04
大家都知道,要發送郵件,就是編寫一個 smtp用戶端,smtp其實是基於anscII的字元協議,說白了,也就是你往伺服器上發送指定的字元,伺服器便會有相應的響應,當然到底發送什麼字元呢?這個就是smtp協議了。如果想發送二進位的檔案,音視頻資料,那麼就需要MIME(通用internet郵件擴充協議),它利用一些編碼方式將這些資料轉化為anscII字元,發送出去,接收端在利用相應的解碼方式進行解碼。我們這裡製作一個簡單的郵件發送程式,其中身份驗採用Base64編碼,它將資料流劃分為24位的塊,再將
Time of Update: 2018-12-04
server.c線程函式宣告如下:void thread(void)建立線程如下:int id;int ret = pthread_create(&id,NULL,(void*)thread,NULL);編譯語句如下:arm-linux-g++ server.c -ljrtp -lpthread -o server錯誤提示:ANSI C++ forbids implicit conversion from `void *' in argument passing 解決:int
Time of Update: 2018-12-04
ftp.h檔案#ifndef __FTP_H_#define __FTP_H_#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <fcntl.h>#include <unistd.h>#include <stdarg.h>#include
Time of Update: 2018-12-04
一、 如何建立多使用者 提醒大家一句,別一直使用root使用者,因為root使用者在系統中有著至高無上的權力,一不小心就可能破壞系統。比如我們想刪除/temp目錄下的檔案卻將命令不小心輸成“rm / temp(在‘/’後多了一個空格)”,那麼就極可能刪去根目錄下的所有檔案。再者,“Linux是一個真正意義上的多任務、多使用者系統”,不體會一下 Linux的特色豈不可惜。為了方便自己和別人使用,就在Linux系統下多建幾個使用者吧。 輸入“adduser
Time of Update: 2018-12-04
本文是Linux系統調用系列文章的第一篇,對Linux系統調用的定義、基本原理、使用方法和注意事項大概作了一個介紹,以便讀者對Linux系統調用建立一個大致的印象。 什麼是系統調用?Linux核心中設定了一組用於實現各種系統功能的子程式,稱為系統調用。使用者可以通過系統調用命令在自己的應用程式中調用它們。從某種角度來看,系統調用和普通的函數調用非常相似。區別僅僅在於,系統調用由作業系統核心提供,運行於核心態;而普通的函數調用由函數庫或使用者自己提供,運行於使用者態。二者在使用方式上也有相似之處,
Time of Update: 2018-12-04
六、如何設定音效卡 不用我說,這可是十分要緊的工作!不過如果你安裝了RED HAT Linux,則這項工作就簡單了! 用root登入系統,運行/usr/sbin/sndconfig。出現選擇音效卡類型的畫面。一般音效卡可以選取Sound Blaster 。 選完音效卡後再設定有關的資源。用TAB鍵結合方向鍵作出選擇後,按OK,如果聽到Linus(Linux的創始人)說話的聲音,就說明音效卡設定成功了。真像老式DOS遊戲的音效卡設定…… 七、如何設定顯卡
Time of Update: 2018-12-04
/***************************************************** 功能: linux arm-linux UPD多播 ** 時間: 2006-03-07 ** 撰寫: 李亞楠 * *****************************************************/#include
Time of Update: 2018-12-04
系統調用是應用程式和作業系統核心之間的功能介面。其主要目的是使得使用者可以使用作業系統提供的有關裝置管理、輸入/輸入系統、檔案系統和進程式控制制、通訊以及儲存管理等方面的功能,而不必瞭解系統程式的內部結構和有關硬體細節,從而起到減輕使用者負擔和保護系統以及提高資源使用率的作用。
Time of Update: 2018-12-04
Linux 必學的重要命令 mtools1.作用mtools實際上是一個命令集合,是DOS檔案系統的工具程式,它可以類比許多DOS命令,使用起來非常方便。使用許可權是所有使用者。Linux系統提供了一組稱為mtools的可移植工具,可以讓使用者輕鬆地從標準的DOS磁碟片上讀、寫檔案和目錄。它們對DOS和Linux環境之間分頁檔非常有用。mtools的使用非常簡單,如果想把軟盤裡所有的檔案都拷貝到硬碟上,那麼就可以執行以下命令:mcopy
Time of Update: 2018-12-04
好久沒用linux,最近需要了才又撿起來,忽有世上已千年的感覺。以前一直用rehat9,vmware6,那時候vmtools可以解決滑鼠釋放和檔案分享權限設定問題,這幾天裝ubuntu9或者10之後發現這兩個功能一個也不好用了。那麼尋找新的方法。同時記些筆記下來。 1、ubuntu9.04以上的版本 需要vmware 6.5以上的版本來裝 低版本可能不行2、下面建立共用資料夾 不用vmware tools(不知怎麼不好使),ubuntu9.04 vmware6.5
Time of Update: 2018-12-04
Linux下的定時器有兩種,以下分別介紹: 1、alarm 如果不要求很精確的話,用 alarm() 和 signal() 就夠了 unsigned int alarm(unsigned int seconds)
Time of Update: 2018-12-04
應用程式:#include <syswait.h>usleep(n) //n微秒Sleep(n)//n毫秒sleep(n)//n秒驅動程式:#include <linux/delay.h>mdelay(n) //milliseconds 其實現#ifdef notdef#define mdelay(n) (/ {unsigned long msec=(n); while (msec--) udelay(1000);})#else#define mdelay(n) (/
Time of Update: 2018-12-04
編譯Linux0.00核心(《Linux核心完全剖析-基於0.12核心》)老早就買了一本趙炯編寫的《Linux核心完全剖析-基於0.12核心》,看來前四章的原理部分,卻一直沒有勇氣來自己動手來實踐。最近終於下定決心好好看看這本書,並打算堅持寫一些學習筆記來記錄學習過程中的一些收穫和經驗,一來可以強迫自己複習所學的東西,二來也可以和其他正在學習Linux核心的同志們分享一下自己的學習經驗和在學習過程中的遇到的一些問題。今天是我真正動手學習Linux的第二天,學習編譯書上140~146頁的Linux
Time of Update: 2018-12-04
花了一周時間 總算成功編譯了 2.6.30核心 中間出了一堆問題,vmware版本問題 ubuntu10.10連無線網問題 ubuntu宿主機檔案分享權限設定問題 滑鼠釋放問題 redhat編譯缺庫問題 。。。。。 對於我這種linux大內低手而言 都是一道道坎兒。好幾次想放棄 直接裝個高核心版本的ubuntu算了,最後還是堅持下來了 獎勵下自己 呵呵 簡述編譯過程 以後忘了 想撿起來容易些先說一些假單命令 老是忘:關機重啟命令: