原创 Boost庫中的Traits(is_array, is_const)

Boost中的Traits十分完善,可分爲幾大類: 1. Primary Type Categorisation(初級型別分類) 2. Secondary Type Categorisation(次級型別分類) 3. Type Pro

原创 Android內核介紹

http://hi.baidu.com/ef_liang/blog/item/0979cdf97dc1a311a8d311ce.html     已經有一些的文章介紹Android內核了,本系列篇將從Linux內核的角度來分析Androi

原创 讓CPU畫正弦曲線

 #include <cmath> #include <ctime> #include <windows.h> using namespace std; //得到循環0xFFFFFFFF次用的秒數 unsigned int test(

原创 android實現一個service

    #include <binder/IBinder.h> #include <binder/IInterface.h> #include <binder/Parcel.h> #include <binder/IPCThreadSt

原创 winpcap發送數據包模擬TCP連接和斷開的7次握手

 上次我用winpcap成功發送一個UDP數據包到服務器。 相比較TCP要複雜的多, tcp不但要完成開始連接的三次握手, 還要處理數據包的序列號。 下面是tcp七次握手示意圖:             下面我就來模擬一個TCP客服端,

原创 原始套接口(RAW SOCKET)

原始套接口(RAW SOCKET)   原始套接口提供三種TCP和UDP套接口不提供的功能: 1). 可以讀寫ICMPv4, IGMPv4和ICMPv6分組. 例如Ping和Traceroute程序就是利用ICMP分組 2). 可以讀寫特

原创 linux設備

在Linux系統中,存在一個抽象化的設備目錄,名爲/dev,如圖所示。該目錄下存有指向系統中硬件的特殊文件。這些指向硬件設備的文件,極大地簡化了程序員對硬件的操作。 Linux系統將設備分成了3種類型: 1). 字符設備: 字符設備就是

原创 vi文字處理

vi共分爲3種模式: 1). 一般模式 2). 編輯模式 3).  命令行命令模式     命令行的命令 一般模式:移動光標的方法 h或向左方向鍵(←) 光標向左移動一個字符 j或向下方向鍵(↓) 光標向下移動一個字符

原创 socket相關的函數I/O模型

[本文內容主要來源: UNIX Network Programming Volume.1 by W. Richard Stevens]   首先我們來看幾個socket相關的函數I/O模型1. Blocking I/O 模型 這個模型是最

原创 Android的電源管理

http://www.mcuol.com/Tech/265/34520.htm   總體上來說Android的電源管理還是比較簡單的, 主要就是通過鎖和定時器來切換系統的狀態,使系統的功耗降至最低,整個系統的電源管理架構圖如下: (注該

原创 Boost庫中的Traits(is_float, is_class)

 對以判斷是不是某個基本類型(整數, 浮點, bool)可以參考下面代碼: 3. is_float template<typename T> struct is_float : bool_type<false>{}; #define I

原创 用winpcap發送UDP數據包

今天嘗試用winpcap提供的pcap_sendpacket函數成功發送一個udp數據包到目的地址。 下面就來回顧一下過程。   首先用pcap_findalldevs得到網絡接口,比如在我的機器上得到這樣的結果: 1: /Device/

原创 GCC編譯器介紹

GCC編譯器介紹 GCC是GNU項目的編譯器組件之一,也是GNU最具有代表性的作品。在GCC設計之初僅僅作爲一個C語言的編譯器,可是經過十多年的發展,GCC已經不僅僅能支持C語言;它現在還支持Ada語言、C++語言、Java語言、Obje

原创 cdecl

 #include<stdio.h> #define R const char #define Y template<typename T> #define X operator R*(){ #define O return n;}};

原创 Android ProcessState

http://www.android1.net/Topic.aspx?BoardID=31&TopicID=1897   ProcessState是一個singleton類別,它只有一個物件(Instance)。此物件負責打開Binde