原创 在Ubuntu上安裝WebSphere MQ

在Ubuntu上安裝WebSphere MQ 1. Download WebSphere MQ6 tar.gz (WMQv6023Trial-x86_linux_2.tar.gz) 2. run tar -zxvf WMQv6023T

原创 使用GHashTable和strsep()函數解析http報文

#include <stdlib.h> #include <glib.h> #define FIELD_NAME_ARRAY_LENGHT  8 field_name_array[FIELD_NAME_ARRAY_LENGHT] = {

原创 對asn.1抽象語法標記中Tag的理解

一.tag 通信時,要確保對方知道每個數據的類型,我們需給各個類型進行系統性的編號。asn.1中,這種編號稱爲tag。 二.tag class 一共有四種tag類:universal,application, context-speci

原创 free 查看系統內存

我們一般用free命令: [root@scs-2 tmp]# free              total       used       free     shared    buffers     cached Mem: 

原创 linux下的抓包工具tcpdump

linux下的抓包工具tcpdump     這篇講linux下的抓包工具。   抓包工具比較好用的有兩個,一個是snort,一個是tcpdump,這次不說snort了,覺得這個工具雖然很強大,但是比較複雜,還是tcpdump比較簡單。t

原创 子函數中爲調用者分配內存的一些理解

典型的例子有四個,其中一個是錯誤的,先說錯誤的情況 1.錯誤的例子: intfunc(char *p) { if(NULL == (p = (char *)malloc(128)) ); { retuen-1; } return0; }

原创 ASN.1筆記——基本類型詳述

ASN.1筆記——2 一.ASN.1基本類型 基本類型彙總表 類型 UNIVERSALTag 取值 BOOLEAN 1 TRUE,FALSE NULL 5 NULL INTEGER 2 整

原创 ASN.1筆記——標準編碼規則BER

BER編碼 一.基本規則 BER(BasicEncoding Rules)是ASN.1中最早定義的編碼規則,其他編碼規則是在BER的基礎上添加新的規則構成。 1.BER傳輸語法的格式一直是TLV三元組<Type,Length, Va

原创 淺析malloc()的實現方式

malloc()是C語言中動態存儲管理的一組標準庫函數之一。其作用是在內存的動態存儲區中分配一個長度爲size的連續空間。其參數是一個無符號整形數,返回值是一個指向所分配的連續存儲域的起始地址的指針。    動態內存分配就是指在程序執行

原创 Linux top 命令

VIRT:virtual memory usage。Virtual這個詞很神,一般解釋是:virtual adj.虛的, 實質的, [物]有效的, 事實上的。到底是虛的還是實的?讓Google給Define之後,將就明白一點,就是這東西還

原创 LEMON概述

一.編譯原理一些常識 1.詞法分析將字符串按正則表達式,分成一個個匹配的token,予之表明它們身份的標記,以及長度和在語法文件中的位置。 2.單個的token沒有意義,需要語法分析程序識別token的出現和它們排列的規則,按結構執行相

原创 小竅門:創建超長鏈表時加一個特殊頭節點優化創建速度

#include<stdio.h> #include<stdlib.h> #include<string.h> #define MAX_LENGTH 100000 int i = 0; struct _T

原创 void (*signal(int sig, void (*func) (int))) (int)理解

1.signal( int sig, void (*func)(int)) signal是一個函數,有2個參數,第一個是int類型,第二個參數是一個函數指針 2.void (*signal(int sig, void (*func) (

原创 字符集與字符編碼簡介

轉自http://blog.csdn.net/gogor/article/details/5323599 我們知道,計算機只能識別諸如0101這樣的二進制數,於是人們必須以二進制數據與計算機進行交互,或者先將人類使用的字符按一定規則轉換爲