原创 大整數相加

#include<stdio.h> #include<string.h> //爲了方便進位,把數字字符串逆序,得到結果後再逆序 void reverse( char *s )        /*將字符串逆置*/ {     int

原创 Vim編輯器設置縮進4字節

   1.先打開配置文件,運行: sudo vim /etc/vim/vimrc   2.然後在文件的最後加上以下代碼,保存,退出即可 set smartindent   set tabstop=4   set shiftwidth

原创 Select機制--

Select在Socket編程中還是比較重要的,可是對於初學Socket的人來說都不太愛用Select寫程序,他們只是習慣寫諸如connect、ac

原创 騰訊面試題1

給定一個字符串s,你可以從中刪除一些字符,使得剩下的串是一個迴文串。如何刪除才能使得迴文串最長呢? 輸出需要刪除的字符個數。 轉:http://www.nowcoder.com/profile/384632/codeBookDetai

原创 C++臨時變量的生命週期

http://www.cnblogs.com/catch/p/3251937.html C++ 中的臨時變量指的是那些由編譯器根據需要在棧上產生的,沒有名字的變量。主要的用途主要有兩類: 1) 函數的返回值, 如: 1

原创 java異常處理機制

1. 引子 try…catch…finally恐怕是大家再熟悉不過的語句了,而且感覺用起來也是很簡單,邏輯上似乎也是很容易理解。不過,我親自體驗的“教訓”告訴我,這個東西可不是想象中的那麼簡單、聽話。不信?那你看看下面的代碼,“

原创 Valgrind簡單用法

Valgrind的主要作者Julian Seward剛獲得了今年的Google-O'Reilly開源大獎之一──Best Tool Maker。讓我們一起來看一下他的作品。Valgrind是運行在Linux上一套基於仿真技術的程序

原创 一次完整的HTTP事務是怎樣一個過程?

當我們在瀏覽器的地址欄輸入 www.linux178.com ,然後回車,回車這一瞬間到看到頁面到底發生了什麼呢? 以下過程僅是個人理解: 域名解析 --> 發起TCP的3次握手 --> 建立TCP連接後發起http請求

原创 用C++11的std::async代替線程的創建

  c++11中增加了線程,使得我們可以非常方便的創建線程,它的基本用法是這樣的: void f(int n); std::thread t(f, n + 1); t.join();   但是線程畢竟是屬於比較低層次的東西,有

原创 base64

base64 閱讀: 39124 Base64是一種用64個字符來表示任意二進制數據的方法。 用記事本打開exe、jpg、pdf這些文件時,我們都會看到一大堆亂碼,因爲二進制文件包含很多無法顯示和打印的字符,所以,如果要讓記事本

原创 深入理解C指針與數組-總結

在C語言中,一個變量的聲明和定義有什麼區別。          我們知道定義只是一個特殊的聲明。          定義:只能出現在一個地方,創建新對象,同時確定對象的類型並分配內存。(注意這裏所說的對象跟C++中所說的對象沒有任何

原创 boost-ASIO--(2)

 在上一篇博文中我們提到異步請求是從上層開始,一層一層轉發到最下面的服務層的對象win_iocp_socket_service,由它將請求轉發到操作系統(調用windows api),操作系統處理完異步請求之後又是如何返回給應用程序的呢

原创 boost1.55.0在Windows下VS2013配置使用

Boost是一個和STL類似的標準庫,但它擴充了STL使得泛型的優點發揮到最佳。因此現在Boost比STL更爲實用。既然Boost這麼實用,那麼怎麼去在Windows環境下去安裝Boost庫呢? 下面分享一下我用VS201

原创 boost-ASIO--(1)

使用asio之前要先對它的設計思想有所瞭解,瞭解設計思想將有助於我們理解和應用asio。asio是基於proactor模式的,asio的proactor模式隱藏於大量的細節當中,要找到它的蹤跡,往往有種只見樹木不見森林之感,筆者將剖析a

原创 linux中fork()函數詳解

一、fork入門知識      一個進程,包括代碼、數據和分配給進程的資源。fork()函數通過系統調用創建一個與原來進程幾乎完全相同的進程,也就是兩個進程可以做完全相同的事,但如果初始參數或者傳入的變量不同,兩個進程也可以做不同的事