原创 redhat enterprise 5 下的boost::asio 庫應用(1)

在linux環境下編譯boost & asio庫,是個頭疼的事情,前天搞了一天也沒把asio.examples編譯通。 無奈,只有重新下載獨立的asio_1.4.8.zip單獨編譯。 1.unzip 2.make wait some

原创 redhat enterprise 5 下的boost::asio 庫應用(4)

libev的demo上篇也說到了,那麼epoll到底是如何工作的呢,爲了更好的接觸到底層,我們直接用epoll的API來設計一個echoserver client的code和上篇一樣 echoserver.cpp 如下 #inclu

原创 redhat enterprise 5 下的boost::asio 庫應用(0)

最近幾次業內交流,我認識了自己。 一直以來,都在windows下開發網絡服務器,從單pc負載1k - 2k - 4k,網絡性能也逐步提高。 但是周邊的朋友,大多是在linux下開發,我就顯得比較扎眼。 第一個差異就是服務端的os環境,另

原创 CodeLite IDE for windows (一)安裝及HelloWorld

昨天從oschina看到CodeLite的消息,是不是out了,哈哈。   今天就迫不及待的測試下,安裝流程如下:   (1)下載完整安裝包: http://sourceforge.net/projects/codelite/files/

原创 g++ boost庫編譯及測試

1.downlaod boost.zip 2.unzip xx.zip 3.upload to linux 4.chmod a+x bootstrap.sh 5../bootstrap.sh 如出現其他權限不夠情況,請依次更改 6.wai

原创 redhat enterprise 5 下的boost::asio 庫應用(2)

在熟悉asio之前,先來把bsd socket c/s模型熟悉下 client: #include "stdio.h" #include "stdlib.h" #include "netinet/in.h" #include "sys/s

原创 《微軟面試題》設計包含min函數的棧

設計包含min函數的棧。 定義棧的數據結構,要求添加一個min函數,能夠得到棧的最小元素。要求函數min、push以及pop的時間複雜度都是O(1)

原创 《微軟面試題》判斷2個單向鏈表的是否有交叉點

微軟亞院之編程判斷倆個鏈表是否相交 給出倆個單向鏈表的頭指針,比如h1,h2,判斷這倆個鏈表是否相交。 爲了簡化問題,我們假設倆個鏈表均不帶環。 問

原创 boost內存池簡單應用(一)

1.測試環境 vs2010 ,boost1.48, 2.編譯boost,生成靜態庫,方法從網上找。 3.測試對象,pool &object_pool 4,code : // testBoost.cpp : 定義控制檯應用程序的入口點。 /

原创 win7 + vmware + redhat9 + secureCRT 搭建c++開發環境

今天嘗試在自己的win7電腦上搭建redhat下c++開發環境,特此記錄。 1.去下載 這樣3個文件 shrike-i386-disc1.iso ... 2.當然不能少了VMware Workstation 3.運行建立虛擬系統,選擇N

原创 指針做形參

  一級指針和二級指針在做形參時的不同:指針用作形參,改變指針地址則值不能傳回,改變指針內容而地址不變則值可以傳回。   (特殊情況:改變指針地址採

原创 解決vs03 安裝中可惡的FrontPage 2000 WEB

  解決方法如下:   第一步: 到系統的光碟拷貝幾個文件。 複製 \i386\fp40ext.cab 中的 fp4autl.dll、fpencode.dll 和 fp4awel.dll 放到[系統盤如C盤]:c:\Program Fi

原创 基類的技巧:非拷貝類對象 & 單例

(1)non-copyable class   class CJack { private: CJack(const CJack& rhs); CJack& operator=(const CJack& rhs); public:

原创 redhat enterprise 5 下的boost::asio 庫應用(3)

既然asio以epoll爲網絡核心,爲了認識epoll,我們來看看libev是如何工作的。 相比asio龐大的boost依賴,libev卻是小巧輕便,高效。 列個demo client: #include "stdio.h" #in

原创 gdb g++ 編譯及調試

1. 類庫文件base.h base.cpp 2.編譯類庫g++ -c base.cpp 生成 base.o 3.編譯main.cpp:g++ -g -o main main.cpp base.o 4.調試gdb,如下 gdb main