原创 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