原创 linux系統文件目錄概述

 一般的Linux發行版本都含有如下幾個目錄: 1. /bin 用於存放普特用戶可執行的命令,系統中的任何用戶都可以執行該目錄中的命令             如ls、cp、mkdir等命令 2. /boot Linux的內核及啓動系統時

原创 linux 進程結構

linux一個進程有3部分組成:代碼段,數據段,堆棧段。 代碼段存放程序的可執行代碼。數據段存放程序的全局變量,常量,靜態變量。 堆棧段中的堆用於存放動態分配的內存變量;堆棧段中的棧用於函數調用,存放函數的參數,函數內部定義的局部變量。

原创 在Eclipse中運行C++程序出現"Launch failed. Binary not foud"和"Program file not Specified"的問題

第一步:右鍵點擊工程,選擇 Properties->C/C++ Build->Settings->Binary Parser, 勾選 "PE Windows Parser" 。 第二步:運行配置界面中下,在C/C++ Appliactio

原创 linux wait函數用法

  【轉自:http://hi.baidu.com/_hstyle/blog/item/fb7b12c4447390af8226acc5.html

原创 linux 創建線程問題undefined reference to 'pthread_create'

報錯:undefined reference to 'pthread_create' 問題原因:     pthread 庫不是 Linux 系統默認的庫,連接時需要使用靜態庫 libpthread.a,所以在使用pthread_crea

原创 linux下fork()函數用法

fork()函數用於創建子進程。進程創建成功後,函數返回兩次值,一次返回值爲0,代表子進程在運行, 另一次返回子進程的ID,代表當前父進程 正在運行。例如下面的程序: /*  * Test.c  *  *  Created on: Oct

原创 插入排序

插入排序:每次從待排序的數中拿出一個作爲key,和前面的數字依次開始比較,如果待排序的數字小,則將比較的數後移,然後繼續比較,直到找到小於key的數字。 代碼: #include <stdio.h> void insert_sort(in

原创 =號運算符的重載

  #include <stdio.h> #include <iostream> #include <string> using namespace std; class A { public:  A(char *s)  {   ptr=

原创 普通函數重載和友元函數重載

  #include <stdio.h> #include <iostream> #include <string> using namespace std; class A { public:  A(int a,int b)  {   

原创 堆排序

堆排序: 1.將待排序記錄按照堆的定義建初堆,並輸出堆頂元素。 2. 調整剩餘的記錄序列,利用篩選法將前n-i個元素重新篩選建成一個新堆,在輸出堆頂元素 3. 重複執行,進行n-1次篩選。 代碼實現 #include<stdio.h> #

原创 virtual關鍵字用法總結

virtual關鍵字的作用:指示c++編譯器對該函數的調用進行動態聯編。只有當訪問虛函數是通過基類指針s時纔可以獲得運行時的動態性。 1. 在基類中,必須把成員函數定義爲虛函數,即加關鍵字"virtual" 2. 在派生類中,虛函數被重新

原创 BT協議各種消息

1. 客戶端與一個peer建立TCP連接後,首先向peer發送握手消息,peer收到握手消息後迴應一個握手消息。 l     握手消息是一個長度固定爲68字節的消息。消息的格式如下: <pstrlen><

原创 函數指針、指針數組與數組指針

  指針數組:首先它是一個數組,數組的元素都是指針,數組佔多少個字節由數組本身決定。 數組指針:首先它是一個指針,它指向一個數組,在32位系統下永遠佔4個字節。  函數指針: A. int *p1[10]

原创 valatile用法

volatile是一種類型修飾符,用它修飾的變量表示可以被某些編譯器未知的因素更改,比如操作系統,硬件或者其他線程等。 遇到這個關鍵字聲明的變量,編譯器對訪問改變量的代碼就不再進行優化,從而可以提供對特殊地址的穩定穩定。        v

原创 4.關鍵算法及策略

1. 流水線作業:      當客戶端向peer發送數據請求時(即發送request消息),一次請求多個slice(即一個數據包發送多個request消息請求多個slice)。假如客戶端一次 只發送一個slice請求,則peer給客戶端發