原创 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:要映射的