原创 ubuntu 編譯ActiveMQ-CPP

ActiveMQ-CPP依賴apr,apr-util,apr-iconv,cppunit.如果你還想使用ssl,你還要安裝OpenSSL apr,apr-util,apr-iconv可以到apache官網--http://apr.apa

原创 makefile 命令前-

通常make執行的命令如果出錯(該命令的退出狀態非0)就立刻終止,不再執行後續命令,但如果命令前面加了-號,即使這條命令出錯,make也會繼續執行後續命令。通常rm命令和mkdir命令前面要加-號,因爲rm要刪除的文件可能不存在,mkdi

原创 makefile中命令前@

通常,make會把其要執行的命令行在命令執行前輸出到屏幕上。當我們用“@”字符在命令 行前,那麼,這個命令將不被make顯示出來,最具代表性的例子是

原创 拆分字符竄函數

StrVec Split(const string &s, char c, bool inclue_empty_value) {     retur

原创 linux靜態庫和動態庫編譯及使用

1 代碼樣例 [cpp] view plain copy /**************************************************************************/  /*add.

原创 Linux動態鏈接庫搜索路徑問題

動態庫的搜索路徑搜索的先後順序是: (1).編譯目標代碼時指定的動態庫搜索路徑(-Wl,-rpath 指定); (2).環境變量LD_LIBRARY_PATH指定的動態庫搜索路徑; (3).配置文檔/etc/ld.so.conf中指定的動

原创 samba最簡單實用

找到smb.conf 在最後加上 [mdl_dev] path=/home/yongqing.jiao/share writeable=yes browseable=yesguest ok=yes chmod 777 /home/yong

原创 linux下so動態庫一些不爲人知的祕密(中)

  我們知道linux鏈接so有兩種途徑:顯示和隱式。所謂顯示就是程序主動調用dlopen打開相關so;這裏需要補充的是,如果使用顯示鏈接,上篇文章討論的那些問題都不存在。首先,dlopen的so使用ldd是查看不到的。其次,使用dlop

原创 gcc中的-Wl,rpath=選項

gcc編譯鏈接動態庫時,很有可能編譯通過,但是執行時,找不到動態鏈接庫,那是 因爲-L選項指定的路徑只在編譯時有效,編譯出來的可執行文件不知道-L選項後面的值, 當然找不到。可以用ldd <your_execute>看看是不有 ‘not

原创 linux下so動態庫一些不爲人知的祕密(上)

出處: http://blog.chinaunix.net/uid-27105712-id-3313293.html linux 下有動態庫和靜態庫,動態庫以.so爲擴展名,靜態庫以.a爲擴展名。二者都使用廣泛。本文主要講動態庫方面知識。

原创 socket可讀,可寫的條件

socket可讀可寫條件,經常做爲面試題被問,因爲它考察被面試者對網絡編程的基礎瞭解的是不是夠深入。要了解socket可讀可寫條件,我們先了解幾個概念:1.接收緩存區低水位標記(用於讀)和發送緩存區低水位標記(用於寫): 每個套接字有

原创 libevent----標誌信息

出處:http://blog.csdn.net/beitiandijun/article/details/72772899 一、事件類型  event-internal.h [cpp] view plain copy

原创 給 libevent 提交的pullrequest

https://github.com/nmathewson/Libevent/commit/6cce7458d0f94e320f201eb5be94866e6918d66c

原创 linux-線程/進程通信eventfd

eventfd 在內核版本,2.6.22以後有效。查看內核版本可以用命令 uname -r 在看muduo源碼時,項目中使用eventfd機制實現線程間的喚醒(通知)。覺得效率比較高,所以拿來學習下。其也可以實現父子進程間的通信。

原创 epoll檢測對端關閉

在對系統問題進行排查時,我發現了一個奇怪的現象:明明是對方斷開請求,系統卻報告一個查詢失敗的錯誤,但從用戶角度來看請求的結果正常返回,沒有任何問題。 對這個現象深入分析後發現,這是一個基於 epoll 的連接池實現上的問題,或者說是特