Time of Update: 2018-12-03
//建立多線程#include <stdio.h>#include <string.h>#include <stdlib.h>#include <pthread.h>#include <unistd.h>pthread_t ntid;void printids(const char *s){pid_tpid;pthread_ttid;pid = getpid();tid = pthread_self();printf("%s pid %
Time of Update: 2018-12-03
C標準規定fflush()函數是用來重新整理輸出(stdout)緩衝的。對於輸入(stdin),它是沒有定義的。但是有些編譯器也定義了fflush( stdin )的實現,比如微軟的VC。其它編譯器是否也定義了fflush( stdin )的實現應當尋找它的手冊。
Time of Update: 2018-12-03
學習Linux裝置驅動時第一步就是構建核心樹,首先下載Linux核心,按Linux Device Dervier 3作者的說法,只要是linux-2.6.xxx的核心都可以,我的是linux-2.6.30.4。具體步驟:(1) 下載核心源碼包,並解壓:[root@yanbo kerneltest] # tar -zxvf linux-2.6.30.4.tar.gz(2) [root@yanbo linux-2.6.30.4] # make mrproper(3) [root@yanbo
Time of Update: 2018-12-03
我們在使用linux過程中,每個命令後都要跟一些參數,可是對於常用的參數假如每次都是手動的添加就是顯得麻煩些了。linux 可能通過命令別名的功能來減少您的輸入,請下面操作就明白了。OS:redhat AS4.2ls -l 列出文檔目錄周詳資訊ls -hl 列出文檔大小,以K為單位顯示ls -hlt 列出文檔按時間排序對於上面三個顯示需要我們只要配置alias ll=’ls -lht’ 這樣以後,只要輸入ll 就能夠了。 對於此alias ll=’ls -lht’
Time of Update: 2018-12-03
我使用Linux(Ubuntu)的時間不長,卻一直在堅持使用,下定決心學習Linux的技術。雖然有時候用在某些方面的開發還是windows上面方便一些,我還是堅持使用Linux來解決問題,因為我想徹底放棄Windows而把Linux學好。 現在擺在我面前的一個問題是如何成為符合企業需求的Linux人才? 是精通Linux下的那一大堆的命令(or Shell指令碼編程)嗎? 還是能夠修改Linux核心的一些東西? 還是能夠熟練地用Linux部署企業的應用?
Time of Update: 2018-12-03
在Linux下對管道的操作主要集中於阻塞和非阻塞兩種情況下,在這兩種情況下的主要區別在於寫的情況下,主要區別為: 無論是在阻塞還是非阻塞情況下,read操作總是要先於write 操作之前開啟,否則,容易產生錯誤:No such device or address。 寫操作,在阻塞情況下,如果緩衝區空間不存在的話,則會阻塞在write操作中;在非阻塞情況下,如果緩衝區中不存在空間的話,則直接返回錯誤,EAGAIN(Resource temporarily
Time of Update: 2018-12-03
之前曾經讀過《UNIX環境進階編程》,但是對其中的檔案鎖的概念沒有深入的瞭解與學習,近日在操MySQL資料庫時,遇到死結現象。順便聯想到了Linux下的檔案鎖,風聞資料庫中的庫是需要OS下的檔案來支撐的,為此更要來對Linux檔案鎖來深入學習一下。Linux系統上的檔案鎖主要分為建議鎖(advisory lock)和強制鎖(mandatory
Time of Update: 2018-12-03
使用libevent編寫linux服務(二)2009-08-22
Time of Update: 2018-12-03
fork#include<unistd.h>#include<sys/types.h>函數定義: pid_t fork(void); (pid_t 是一個宏定義,其實質是int被定義在#include<sys/types.h>中) 傳回值:若成功調用一次則返回兩個值,子進程返回0,父進程返回子進程ID;否則,出錯返回-1 函數說明:
Time of Update: 2018-12-03
struct hostent { char *h_name; /* 主機的官方網域名稱 */ char **h_aliases; /* 一個以NULL結尾的主機別名數組 */ int h_addrtype; /* 返回的地址類型,在Internet環境下為AF-INET */ int h_length; /* 地址的位元組長度 */ char **h_addr_list; /* 一個以0結尾的數組,包含該主機的所有地址*/ }; #define h_
Time of Update: 2018-12-03
先來個常式:#include <stdio.h>#include <stdlib.h>#include <unistd.h>int main(int argc, char* argv[]){ pid_t pid; pid = fork(); if(0 == pid) { printf("This is child process, %d\n", getpid()); sleep(5); }
Time of Update: 2018-12-03
簡單的Linux驅動代碼:// mem.c檔案#include <linux/init.h>#include <linux/module.h>MODULE_LICENSE("GPL");static int mem_init(void){printk(KERN_ALERT "hello, kernel\n");return 0;}static void mem_exit(void){printk(KERN_ALERT "Goodbye,
Time of Update: 2018-12-03
makefile例如:test: add.o sub.ogcc -o test add.o sub.oadd.o: add.c test.hgcc -c add.csub.o: sub.c test.hgcc -c sub.c clean:rm -rf testrm -rf *.o格式是:要產生的檔案名稱(含尾碼名):所依賴的檔案清單(含尾碼名) gcc -o/-c [如果是產生可執行檔,此處設定檔案名稱;產生*.o檔案不用] 所依賴的檔案名稱列表(含尾碼名)說明:1.
Time of Update: 2018-12-03
linux vmware-tool安裝:1) 在vmware workstation功能表列上的VM項,選擇Install VMware Tool...2) 在Linux下執行mount -t iso9660 /dev/cdrom /mnt,則在/mnt/下能看到安裝包3) 把安裝包複製到一個臨時目錄,cp /mnt/vmware-linux-tool.tar.gz /tmp4) umount /dev/cdrom5) tar xzvf vmware-linux-tools.tar.gz7)
Time of Update: 2018-12-03
在 linux系統 下,如果你下載並安裝了應用程式,很有可能在鍵入它的名稱時出現“ command not found ”的提示內容。如果每次都到安裝目標檔案夾內,找到可執行檔來進行操作就太繁瑣了。這涉及到環境變數 PATH 的設定問題,而 PATH 的設定也是在 linux 下定製環境變數的一個組成部分。 Linux
Time of Update: 2018-12-03
環境:host : Windows XP SP2 guest : VMWARE Fedora10linux網路設定:1 、 查看本機物理網卡的內網IP:192.168.1.252,後面可以ping一下該ip,則可知道橋接是否成功。2 、 關閉 Fedora10 中的防火牆,#service iptables stop3 、 設定虛擬機器中的 Linux 為橋接模式:a) 選擇橋接模式 ;b) Edit——Virtual Network Settings——Host
Time of Update: 2018-12-03
這裡不是要總結grep命令的詳細使用方法,而是記錄個人的使用經曆。 今天在編寫一個測試小程式的時候,每次運行一個庫函數時,都出現"segementation default",但是調試時卻無法進入這個函數。運行 grep -n -r "函數名" 庫路徑發現"函數名"是一個全域的函數指標,它在動態載入動態庫時被賦值,因此才發現是載入動態庫出現了問題。
Time of Update: 2018-12-03
linux核心原始碼情景分析 非掃描版 上下冊合訂版 字清楚 帶書籤 1575頁 pdfhttp://download.csdn.net/source/2002579*************************************************************linux裝置驅動開發詳解 pdf,針對ARM9 s3c2410 經典
Time of Update: 2018-12-03
PDF格式檔案中的文本是可以匯出來再修改的。同樣,PDF裡面的插圖也是可以提取出來的。PDF轉純文字:pdftotext -enc GBK godson2e-data.Sheet.pdf text.GBK.txt-enc (encoding)要參照/etc/xpdf/xpdfrc 裡面提到的編碼格式。對於中文,用GBK就可以了。提取插圖:pdfimages godson2e-data.Sheet.pdf img該命令就產生N個PPM檔案,(一種BMP格式)檔案名稱為img-00?.ppm? =
Time of Update: 2018-12-03
前面在一個項目開發中用到了ImageMagick,我們自己的測試環境都正常,然後就按照我們開發環境的安裝方法安裝了客戶的測試環境,但在處理jpeg類型圖片的時候報錯了。回頭一看配置log,居然不支援jpeg。 ImageMagick 是變換圖片的庫群,支援perl,C++,JAVA等等語言。可以對圖片進行各種各樣的加工處理。