原创 C語言實現二進制文件讀寫
先介紹函數,我們一共要用到三個函數,fopen,fread,fwrite。二進制讀寫的順序是用fopen以二進制方式打開讀寫文件,然後使用fread和fwrite兩個函數將數據寫入二進制文件中。下面我們看看一個拷貝程序的源碼: Cop
原创 tcpdump使用說明
tcpdump採用命令行方式,它的命令格式爲: tcpdump [ -adeflnNOpqStvx ] [ -c 數量 ] [ -F 文件名 ] [ -i 網絡接口 ] [ -r 文件名] [ -s snaplen
原创 strtok
strtok 原型:extern char *strtok(char *s, char *delim); 用法:#include <string.h> 功能:分解字符串爲一組標記串。s爲要
原创 Linux磁盤管理命令
linux磁盤管理之du du的英文原義爲“disk usage”,含義爲顯示磁盤空間的使用情況。 功能:統計目錄(或文件)所佔磁盤空間的大小。 語法:du [選項] [Names…] 說明:該命令逐級進入指定目錄的每一個子目
原创 網絡字節順序和主機字節順序的轉換(htons ntohs htonl ntohl)
什麼是網絡字節順序和主機字節順序呢? 在進行網絡編程時,需要進行轉換以統一“格式” 簡述: 網絡字節順序NBO(Network Byte Order):按從高到低的順序存儲,在網絡上使用統一的網絡字節順序,可以避免兼容性問題。
原创 warning:incompatible implicit declaration of built-in function
使用gcc編譯程序,若碰到這樣的warning:incompatible implicit declaration of built-in function 'exit',則表明沒有include相應的頭文件。只是不明白,爲什麼gcc給出
原创 sprintf的使用
sprintf用來格式化輸入時,如果出現段錯誤時,看看分配的空間是足夠,改大一些試試,sprintf內部不對做安全性檢查,有可能直接對錯誤的地址進行操作,所以容易產生段錯誤! 點贊 收藏 分享 文章舉
原创 實現DHCP自動獲取IP地址
前提:系統已經實現DNS(即使用ping [url=http://www.baidu.com測試時能ping/][color=#0000ff]www.baidu.com[/color]測試時能ping[/url]通)。1. 在內核中添加
原创 pthread_join函數及linux線程
這是從網上搜索到的,爲了方便以後查詢,所以就把它拿到自己的空間裏來了。謝謝原作者!!^^ pthread_join函數及linux線程 pthread_join使一個線程等待另一個線程結束。 代碼中如果沒有pthread_join主
原创 getc函數詳解
函數名: getc 功 能: 從流中取字符 用 法: int getc(FILE *stream); 程序例: #include <stdio.h> int main(void) { char ch; printf( "Input a c
原创 POSIX定時器
POSIX定時器:timer_settime() (2010-06-12 09:25:33) 轉載 標籤: 雜談 分類: Linux 最強大的定時器接口來自POSIX時鐘系列,其創建、初始化以及刪除一個定時器的行
原创 Ping命令的工作過程及單向Ping通的原因
網絡出現問題時,我們最常用的測試工具就是“ping”命令了。但有時候我們會碰到單方向ping通的現象,例如通過hub或一根交叉線連接的在同一個局域網內的電腦a、 b,在檢查它們之間的網絡連通性時,發現從主機a ping 主機b正常而從主機
原创 關於回溯算法的遞歸與非遞歸解法
摘要:本文簡要描述了回溯算法的基本思路,並給出了幾個典型實例的源碼 關鍵字:回溯,搜索,非遞歸,全排列,組合,N皇后,整數劃分,0/1揹包 回溯是按照某種條件在解空間中往前試探搜索,若前進中遭到失敗,則回過頭來另擇通路繼續搜索。 符號聲明
原创 linux內存管理
關於頁面的使用在之前的一些文章中,我們瞭解到linux內核會在很多情況下分配頁面。1、內核代碼可能調用alloc_pages之類的函數,從管理物理頁面的夥伴系統(管理區zone上的free_area空閒鏈表)上直接分配頁面(見《linux
原创 關於ioremap
void * __ioremap(unsigned long phys_addr, unsigned long size, unsigned long flags) 入口: phys_addr:要映射的起始的IO地址; size:要映射的