Time of Update: 2018-12-04
一. 字元裝置結構體struct cdev {struct kobject kobj;//kobject對象struct module *owner;//模組所有者const struct file_operations *ops;//檔案操作函數集struct list_head list;//鏈表頭dev_t dev;//裝置號unsigned int count;//引用次數};二. 分配字元裝置結構體struct cdev *cdev_alloc(void){struct cdev
Time of Update: 2018-12-04
linux下線程建立失敗問題寫個碰到的問題,記錄下自己的技術之路點滴pthread_detach(pthread_self())linux線程執行和windows不同,pthread有兩種狀態joinable狀態和unjoinable狀態,如果線程是joinable狀態,當線程函數自己返回退出時或pthread_exit時都不會釋放線程所佔用堆棧和線程描述符(總計8K多)。只有當你調用了pthread_join之後這些資源才會被釋放。若是unjoinable狀態的線程,這些資源線上程函數退出時或
Time of Update: 2018-12-04
用linux一段時間了,有時候想看看ls、cat、more等命令的原始碼,在下載的核心源碼中用cscope沒能找到,在網上搜尋了一下,將方 法總結如下:以搜尋ls命令源碼為例,先搜尋命令所在包,命令如下:lpj@lpj-linux:~$ which ls/bin/ls用命令搜尋該軟體所在包,代碼如下:lpj@lpj-linux:~$ dpkg -S /bin/lscoreutils:
Time of Update: 2018-12-04
Linux 拷貝檔案函數2007-12-17 10:561 /*2 * Copy a (real) file to another (real) file.3 * file can be a regular file or a simlink4 */5 int create_copy_file(const char *source, const char *target)6 {7 struct stat src_stat;89 if (lstat(source,
Time of Update: 2018-12-04
#include <stdlib.h>#include <stdio.h>#include <netdb.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>int main(int argc, char **argv){char *ptr,**pptr;struct hostent *hptr;char str[32];char
Time of Update: 2018-12-04
本文主要內容是介紹ODBC的簡單原理,以及如何在Linux/Unix下進行ODBC的安裝、配置與編程。ODBC原理 ODBC 是Open Database Connect 即開放資料庫互連的簡稱,它是由Microsoft 公司於1991 年提出的一個用於訪問資料庫的統一介面標準,是應用程式和資料庫系統之間的中介軟體。它通過使用相應應用平台上和所需資料庫對應的驅動程式與應用程式的互動來實現對資料庫的操作,避免了在應用程式中直接調用與資料庫相關的操作,從而提供了資料庫的獨立性。ODBC
Time of Update: 2018-12-04
對於判斷檔案是否存在,每個人有不同的方法!我通常採用兩種方法 : open 和 access ;這個倆個方法有相似之處,且有不同之處;下面為大家詳細說明他們的不同之處:open 是開啟,讀寫等操作檔案的一個函數,access就是一個判斷檔案許可權的函數。在linux下,由於檔案有不同的許可權,噹噹前使用者沒有對此檔案的讀許可權的時候,用來判斷檔案是否存在,顯然不合適。而access卻可以做到。open
Time of Update: 2018-12-04
linux下:用socket發送資料前,可以先設定其屬性,指定逾時時間。逾時時間包括接收逾時時間和發送逾時時間,假設設定接收逾時時間為2秒,可以這樣:int time_out = 2000; // 2秒setsockopt(sockfd, SOL_SOCKET,SO_RCVTIMEO, (char
Time of Update: 2018-12-04
Select在Socket編程中還是比較重要的,可是對於初學Socket的人來說都不太愛用Select寫程式,他們只是習慣寫諸如connect、accept、recv或recvfrom這樣的阻塞程式(所謂阻塞方式block,顧名思義,就是進程或是線程執行到這些函數時必須等待某個事件的發生,如果事件沒有發生,進程或線程就被阻塞,函數不能立即返回)。可是使用Select就可以完成非阻塞(所謂非阻塞方式non-block,就是進程或線程執行此函數時不必非要等待事件的發生,一旦執行肯定返回,以傳回值的不
Time of Update: 2018-12-04
守護進程(Daemon)是運行在背景一種特殊進程。它獨立於控制終端並且周期性地執行某種任務或等待處理某些發生的事件。守護進程是一種很有用的進 程。Linux的大多數伺服器就是用守護進程實現的。比如,Internet伺服器inetd,Web伺服器httpd等。同時,守護進程完成許多系統任 務。比如,作業規划進程crond,列印進程lpd等。守護進程的編程本身並不複雜,複雜的是各種版本的Unix的實現機制不盡相同,造成不同Unix環境下守護進程的編程規則並不一致。這需要讀者注意,照搬
Time of Update: 2018-12-04
fg、bg、jobs、&、ctrl + z都是跟系統任務有關的,雖然現在基本上不怎麼需要用到這些命令,但學會了也是很實用的 一。& 最經常被用到 這個用在一個命令的最後,可以把這個命令放到後台執行二。ctrl + z 可以將一個正在前台執行的命令放到後台,並且暫停三。jobs 查看當前有多少在後台啟動並執行命令四。fg 將後台中的命令調至前台繼續運行 如果後台中有多個命令,可以用 fg
Time of Update: 2018-12-04
開發語言:C++開發架構:QT Creator QT4.6.3 version開發平台:Red Hat Linux Enterprise 5 設計思想:調用中國移動的飛信API,講使用者資訊發送給指定的URL,Linux
Time of Update: 2018-12-04
靜態庫 在linux環境中, 使用ar命令建立靜態庫檔案.如下是命令的選項: d -----從指定的靜態庫檔案中刪除檔案 m -----把檔案移動到指定的靜態庫檔案中 p -----把靜態庫檔案中指定的檔案輸出到標準輸出 q -----快速地把檔案追加到靜態庫檔案中 r -----把檔案插入到靜態庫檔案中 t -----顯示靜態庫檔案中檔案的列表 x ----
Time of Update: 2018-12-04
1. 在LINUX下怎樣決斷你的CPU是32位還是64位?打入下面的命令view plaincopy to clipboardprint?grep flags /proc/cpuinfo grep flags /proc/cpuinfo輸出view plaincopy to
Time of Update: 2018-12-04
/var/log/messages/var/log/dmesg這個是硬體的看看/etc/syslog.conf裡面有配置 just man
Time of Update: 2018-12-04
PCI是一種廣泛採用的匯流排標準,它提供了許多優於其它匯流排標準(如EISA)的新特性,目前已經成為電腦系統中應用最為廣泛,並且最為通用的匯流排標準。Linux的核心能較好地支援PCI匯流排,本文以Intel 386體繫結構為主,探討了在Linux下開發PCI裝置驅動程式的基本架構。 一、PCI匯流排系統體繫結構 PCI是外圍裝置互連(Peripheral Component
Time of Update: 2018-12-04
環境:RedHat AS4 1。首先擷取ffmpeg 通過svn下載: 從 http://subversion.tigris.org下載SVN用戶端程式。 先裝subversion,確保已經安裝了apr和apr-util,在apache.org網站能下到 wget http://subversion.tigris.org/downloads/subversion-1.3.2.tar.gz tar zvxf subversion-1.3.2.tar.gz cd
Time of Update: 2018-12-04
Linux中許多常用命令是必須掌握的,這裡將我學linux入門時學的一些常用的基本命令分享給大家一下,希望可以協助你們。這個是我將鳥哥書上的進行了一下整理的,希望不要涉及到著作權問題。1、顯示日期的指令: date2、顯示日曆的指令:cal3、簡單好用的計算機:bc怎麼10/100會變成0呢?這是因為bc預設僅輸出整數,如果要輸出小數點下位元,那麼就必須要執行 scale=number ,那個number就是小數點位元,例如:4、重要的幾個熱鍵[Tab],[ctrl]-c, [ctrl]-d [
Time of Update: 2018-12-04
從 Solaris 遷移到 x86 上的 Linux 指南轉自:IBMdeveloperWorksSolaris 被認為是風格和 Linux 最為接近的一種 UNIX,但是對於程式的遷移來說,他們在諸如記憶體映射、線程連同對自然語言的支援等領域還是有很大區別的。這個移植指南能夠為您在計劃將程式移植到 Linux/x86 上時提供一些建議,並且協助您理解研發環境和體系架構之間的區別。內容:int get_stack(void **StackPtr) { *StackPtr = 0; __asm__
Time of Update: 2018-12-04
1。我個人認為作者MAX對Linux的瞭解不像他對Solaris那樣深入,我不知道也沒法知道他的下列關於Linux的內容來自自己的代碼閱讀分析還是只是來自第三方的文檔資料而未經自己實地驗證; 2。我已經盡量符合原意地翻譯了,當然中間實在忍不住的地方也插兩句自己的話; 3。無論是只閱讀這一篇文章,還是看其他東西,我都覺得,保持自己頭腦清醒很重要; 4。謝謝 Max Bruning