<s id="qx03x"></s>
  • <tt id="qx03x"><noscript id="qx03x"></noscript></tt><rt id="qx03x"><nav id="qx03x"></nav></rt>

    <strong id="qx03x"><li id="qx03x"></li></strong>
    <tt id="qx03x"></tt>

        1. 分頁: 2/31 第一頁 上頁 1 2 3 4 5 6 7 8 9 10 下頁 最后頁 [ 顯示模式: 摘要 | 列表 ]
            聽微博上有人提起,這是一條剛修通的路,總投資3.25億元,橫跨壩頭東西,連接崇禮和張北,路都在山脊上,美景如畫,是一條觀光游玩的好線路。我找遍了谷歌、搜狗、百度地圖,均沒有,凱立德、高德GPS導航就更別提了。2012年8月26日,我直接駕車詢問、尋找,終于找到了這條荒無人煙、沒有手機信號、蜿蜒曲折的天路。風景美不勝收,駕車樂趣更勝一籌,很有美國西部原野的感覺。

            我的草原天路(草沿天路)自駕起點,“樺皮嶺”附近的入口,終點“野狐嶺”??吹饺肟谔幷诹伺?,估計不久的將來,就將開發成景區了,希望游人的增多,不要改變它原始的滋味。

            點擊在新窗口中瀏覽此圖片
            左車:我的斯柯達明銳,右車:借的北京4399公司的福特。
            2012年8月25日,兩輛車,從北京走京藏高速、張石高速,到達河北張家口市張北縣的中都草原度假村附近。沒有進度假村,找個農家院住下了,120元標間,一張2米床、一張1.2米床。附近也就騎騎馬,草的質量不如木蘭圍場、以及第二天去的草原天路,別的風景還不錯。

            點擊在新窗口中瀏覽此圖片
            2012年7月22日,從昌平的家,沿水庫南路、環湖路,自駕進入十三陵水庫庫底。這里不是專門的景區,不要門票,但是這里風景優美,能夠感受草原、濕地的氣息。

            點擊在新窗口中瀏覽此圖片
            2012年7月15日,去秦皇島的時候,順便去了九門口。這里最值得觀賞的,是一條連接關內、關外的秘密隧道。
          引用
            九門口長城坐落在遼寧省葫蘆島市綏中縣李家鄉新臺子村境內,距山海關15公里,全長1704米。九門口,古稱一片石,1644年,明末農民起義軍領袖李自成與吳三桂所引清兵曾在這里展開著名的“一片石之戰”。

            點擊在新窗口中瀏覽此圖片
            2012年4月30日,在湖州借了輛車,前往烏鎮,想著當天趕回,于是只游覽了西柵,沒有去東柵。
          引用
            位于浙北桐鄉市杭嘉湖平原上的烏鎮,以原汁原味的水鄉風貌和千年積淀的文化底蘊成為江南古鎮中的佼佼者。十字形的內河水系將全鎮劃分為東南西北四個區塊,人稱東南西北四柵。最早開發的是東柵,而比東柵大三四倍的西柵景區,卻真是能帶給人們一番“全新”的古鎮游體驗。這種“新鮮”的感受不僅在于白天觀光,更在于流光溢彩的夜游休閑,以及多樣化的個性住宿,讓人能真正住下來細品。

            點擊在新窗口中瀏覽此圖片
            2012年4月29日下午的時候,從江蘇蘇州,來到浙江湖州。天色已晚,不宜遠行,感謝WK的款待,順便參觀了WK負責策劃的房地產項目。那些太湖邊的別墅,最便宜的100多萬元,而在北京城區,這價錢買個兩居都困難。

            點擊在新窗口中瀏覽此圖片
          Tags: , , ,
            第一次到達蘇州,這座江南的城市。

            點擊在新窗口中瀏覽此圖片
            三顧青島,著名的景點在第一次來青島時,都去過了。等車之余,看了看那些舊戰機、潛艇和驅逐艦。

            點擊在新窗口中瀏覽此圖片
            殲7戰機

            點擊在新窗口中瀏覽此圖片
            殲6甲戰機

            點擊在新窗口中瀏覽此圖片
            1、早上07:10,北京南站出發,D331,中午12:22,走出青島火車站。
            2、膠州灣海底隧道通車之后,交通便利多了,從【青島火車站(廣西路)】坐“隧道5路/隧道6路/隧道7路”到【靈山衛公交樞紐站】。
            3、從【靈山衛公交樞紐站】坐“膠南303路”到“膠南市”。

            點擊在新窗口中瀏覽此圖片

            點擊在新窗口中瀏覽此圖片

            點擊在新窗口中瀏覽此圖片
            位于北京昌平區白浮泉路的龍山華府新房終于裝修完了。有了之前賣掉的那個小房子的裝修經驗,這次裝修該買什么的東西、怎樣的順序、時間安排,一切都順利按計劃進行。

            一、客廳:

            點擊在新窗口中瀏覽此圖片
            客廳全貌

            點擊在新窗口中瀏覽此圖片
            電視墻

            點擊在新窗口中瀏覽此圖片
            沙發
          Tags: ,
            [文章作者:張宴 本文版本:v1.0 最后修改:2012.02.23 轉載請注明原文鏈接:http://blog.www.lukangtou.cn/android_ios_status/]

            上周,我們發布了一款支持 Android 和 iOS 平臺手機應用。本周,又發布了另一款手機應用的 iOS 版本??v貫兩款應用的統計數據,發現有兩點出乎我的意料。

            1、iOS 應用狀況:移動iPhone用戶超聯通兩倍,WIFI 聯網方式接近 75%

            我曾經一直以為在 iPhone 4/4S 用戶中,中國聯通的用戶要比中國移動多,畢竟聯通是蘋果合作伙伴,聯通卡是3G網絡,而移動卡的國產TD-SCDMA iPhone不支持,只能使用2G網絡。但經過最近一星期發布的兩款手機應用(均有 iOS、Android 版本)的統計數據發現,iPhone 里插著中國移動2G卡的用戶比中國聯通3G用戶多兩倍。因此,將來針對移動互聯網 IDC 機房的選擇與優化,也需要偏向中國移動網絡。

            點擊在新窗口中瀏覽此圖片



            點擊在新窗口中瀏覽此圖片



            2、Android 應用狀況:小米手機占有率領先,WIFI 聯網方式超過 80%

            Android 用戶移動遠超聯通,在預料之中。但是,沒有想到,在這么多不同型號的 Android 手機中,小米手機 MI-ONE Plus 的占有量竟然能夠位居第一,而三星 GT-I9100 緊跟其后。

            點擊在新窗口中瀏覽此圖片
            [文章作者:張宴 本文版本:v1.0 最后修改:2012.02.16 轉載請注明原文鏈接:http://blog.www.lukangtou.cn/taobaoke_click_urls/]

            根據淘寶商品 num_iid 批量生成淘寶客(什么是淘寶客?)鏈接的 PHP 文件內容如下。

            淘寶 API 有調用次數限制,一次 API 調用,可以最大返回40個商品的淘寶客鏈接,因此,在本函數內,如果需要批量生成的淘寶商品 num_iid 數大于40,將按照40個一次,分多次調用。如果調用淘寶 API 查詢過的商品 num_iid,不管其是否有淘寶客鏈接(有些商品沒有淘寶客推廣鏈接),都將利用 Memcached 緩存起來,下次直接查緩存,不會重復調用淘寶 API。

          <?php
          require_once(dirname(__FILE__).'/TopSdk.php'); //引用淘寶開放平臺 API SDK

          function object2Array($d)
          {
                  if (is_object($d))
                  {
                      $d = get_object_vars($d);
                  }

                  if (is_array($d))
                  {
                      return array_map(__FUNCTION__, $d);
                  }
                  else
                  {
                      return $d;
                  }
          }


          /*********************************************
          * 函數名:get_taobaoke_link ($num_iids)
          * 函數用途:通過淘寶商品 num_iids 獲取其對應的淘寶客手機版鏈接
          * 創建時間:2012-02-14
          * 創建人:張宴 net@www.lukangtou.cn
          * 參數說明:
          *    $num_iids   淘寶商品ID(支持多個商品)數組,示例如下:
          *          $num_iids[] = "13583512568";
          *          $num_iids[] = "10809380078";
          *          $num_iids[] = "10809380079";  
          * 返回值:
          *    下標為淘寶商品 num_iid ,值為淘寶客鏈接 click_url 的二維數組。如果無淘寶客鏈接,click_url 為空字符串,示例如下:
          *          array(3) {
          *            ["13583512568"]=>
          *            string(191) "http://auction1.wap.taobao.com/auction/item_detail-0db2-13583512568.jhtml?tks=jUTwPLMDtUUNEZhqfEuTZqkZhGw1LA7%2BzCJBXCj27NpurHxjZN70Amg0DVaFU61pfnHwW%2FI4MZGm%0Awgb69kbb1NL8uwtu%2BDnyAunBCVDP"
          *            ["10809380078"]=>
          *            string(187) "http://auction1.wap.taobao.com/auction/item_detail-0db2-10809380078.jhtml?tks=jUTwPLMDtUUNEGWhOOgVVuX%2BJKYt7fesyuZjEe7hvmpTJxYDfK8i1Wpvfl7lwI7nzD9W8M352v6E%0AyuUtsKun81AGltKzJWCYPiVDiOeC"
          *            ["10809380079"]=>
          *            string(0) ""
          *          }  
          *********************************************/
          function get_taobaoke_link ($num_iids) {
            $memcache = new Memcache;
            $memcache->connect('127.0.0.1', 11911); //Memcached 緩存服務器地址
            $click_urls = $memcache->get($num_iids);
            
            foreach ($num_iids AS $num_iid) {
              if (!isset($click_urls[$num_iid])) {
                $tbapi_num_iids_arr[] = $num_iid;
              }
            }
            
            if (!empty($tbapi_num_iids_arr)) {
              $numbers = count($tbapi_num_iids_arr);
              $numbers_max = 40; //淘寶 API 限制最大返回40條記錄
              if ($numbers > 0) {
                $numbers_times = ceil($numbers / $numbers_max); //第一層循環的循環次數
                $numbers_start = 0;
                $numbers_end = $numbers_max;
                for ($numbers_i = 1; $numbers_i <= $numbers_times; $numbers_i++) {
                  for ($numbers_j = $numbers_start; $numbers_j < $numbers_end; $numbers_j++) {
                    if ($numbers_j >= $numbers) {
                      break;
                    }
                    $tbapi_num_iids_arr_sp[] = $tbapi_num_iids_arr[$numbers_j];
                  }
                  
                  $numbers_start = $numbers_start + $numbers_max;
                  $numbers_end = $numbers_end + $numbers_max;
                  
                  $tbapi_num_iids = implode(",", $tbapi_num_iids_arr_sp);
                  $c = new TopClient;
                  $c->appkey = 12498835; //淘寶開放平臺 API 接口 App Key
                  $c->secretKey = "745db5f8e316f9f1aa8310a7568d6566"; //淘寶開放平臺 API 接口 App Secret
                  $c->format = "json";
                  $req = new TaobaokeItemsConvertRequest;
                  $req->setFields("num_iid,click_url");
                  $req->setNumIids($tbapi_num_iids);
                  $req->setPid(29509662); //淘寶聯盟(阿里媽媽)PID
                  $req->setIsMobile("true"); //如果要生成手機頁面的淘寶客鏈接,選擇 true;網頁版選擇 false
                  $resp = $c->execute($req);
                  $res = object2Array($resp);
            
                  if (isset($res["taobaoke_items"]["taobaoke_item"])) {
                    $links = $res["taobaoke_items"]["taobaoke_item"];
                    foreach ($links as $value) {
                      $memcache->set($value["num_iid"], $value["click_url"], MEMCACHE_COMPRESSED, 0);
                      $click_urls[(string)$value["num_iid"]] = $value["click_url"];
                    }
                  }
                  
                  unset($tbapi_num_iids_arr_sp);
                  unset($tbapi_num_iids);
                  unset($resp);
                  unset($res);
                  unset($links);
                  unset($value);
                }
              }
            }
            
            foreach ($num_iids AS $num_iid) {
              if (!isset($click_urls[$num_iid])) {
                $memcache->set($num_iid, "", MEMCACHE_COMPRESSED, 0);
                $click_urls[(string)$num_iid] = "";
              }
            }  
            
            $memcache->close();
            return $click_urls;
          }

          //演示
          $num_iids[] = "13583512568";
          $num_iids[] = "10809380078";
          $num_iids[] = "10809380079";
          $click_urls = get_taobaoke_link ($num_iids);
          var_dump($click_urls);
          ?>




            淘寶開放平臺(http://open.taobao.com/) PHP SDK 下載:
            1、已經越獄的 iPhone、iPad 設備,當通過其自帶的 safari 瀏覽器訪問 ipa 應用下載網站時,利用 itms-services 協議,可以一鍵安裝 ipa 文件的 iOS 應用,例如:

          <a href="itms-services://?action=download-manifest&url=http://blog.www.lukangtou.cn/demo/ios/jhsmyt.plist">通過越獄的iOS設備瀏覽器訪問本頁,點這兒一鍵安裝APP應用。</a>



            2、jhsmyt.plist 的內容如下:
            blog.www.lukangtou.cn/demo/ios/jhsmyt.plist

            需要修改之處:

            點擊在新窗口中瀏覽此圖片



            3、如果通過 iPhone、iPad 上的二維碼掃描軟件,還可以實現類似 Android 系統的掃描二維碼下載 app 應用:

            點擊在新窗口中瀏覽此圖片

            二維碼內的網址地址為 http://blog.www.lukangtou.cn/demo/ios/autodown.htm 內容如下:



            4、完整的 Demo 示例:

            http://blog.www.lukangtou.cn/demo/ios/

            點擊在新窗口中瀏覽此圖片

            點擊在新窗口中瀏覽此圖片
          Tags: , , , , , , ,
            [文章作者:張宴 本文版本:v1.0 最后修改:2011.08.05 轉載請注明原文鏈接:http://blog.www.lukangtou.cn/file_get_contents/]

            有時候,運行 Nginx、PHP-CGI(php-fpm) Web服務的 Linux 服務器,突然系統負載上升,使用 top 命令查看,很多 php-cgi 進程 CPU 使用率接近100%。后來,我通過跟蹤發現,這類情況的出現,跟 PHP 的 file_get_contents() 函數有著密切的關系。

            大、中型網站中,基于 HTTP 協議的 API 接口調用,是家常便飯。PHP 程序員們喜歡使用簡單便捷的 file_get_contents("http://example.com/") 函數,來獲取一個 URL 的返回內容,但是,如果 http://example.com/ 這個網站響應緩慢,file_get_contents() 就會一直卡在那兒,不會超時。

            我們知道,在 php.ini 中,有一個參數 max_execution_time 可以設置 PHP 腳本的最大執行時間,但是,在 php-cgi(php-fpm) 中,該參數不會起效。真正能夠控制 PHP 腳本最大執行時間的是 php-fpm.conf 配置文件中的以下參數:
            默認值為 0 秒,也就是說,PHP 腳本會一直執行下去。這樣,當所有的 php-cgi 進程都卡在 file_get_contents() 函數時,這臺 Nginx+PHP 的 WebServer 已經無法再處理新的 PHP 請求了,Nginx 將給用戶返回“502 Bad Gateway”。修改該參數,設置一個 PHP 腳本最大執行時間是必要的,但是,治標不治本。例如改成 <value name="request_terminate_timeout">30s</value>,如果發生 file_get_contents() 獲取網頁內容較慢的情況,這就意味著 150 個 php-cgi 進程,每秒鐘只能處理 5 個請求,WebServer 同樣很難避免“502 Bad Gateway”。

            要做到徹底解決,只能讓 PHP 程序員們改掉直接使用 file_get_contents("http://example.com/") 的習慣,而是稍微修改一下,加個超時時間,用以下方式來實現 HTTP GET 請求。要是覺得麻煩,可以自行將以下代碼封裝成一個函數。
            當然,導致 php-cgi 進程 CPU 100% 的原因不只有這一種,那么,怎么確定是 file_get_contents() 函數導致的呢?

            首先,使用 top 命令查看 CPU 使用率較高的 php-cgi 進程。

          top - 10:34:18 up 724 days, 21:01,  3 users,  load average: 17.86, 11.16, 7.69
          Tasks: 561 total,  15 running, 546 sleeping,   0 stopped,   0 zombie
          Cpu(s):  5.9%us,  4.2%sy,  0.0%ni, 89.4%id,  0.2%wa,  0.0%hi,  0.2%si,  0.0%st
          Mem:   8100996k total,  4320108k used,  3780888k free,   772572k buffers
          Swap:  8193108k total,    50776k used,  8142332k free,   412088k cached

            PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                                              
          10747 www       18   0  360m  22m  12m R 100.6 0.3    0:02.60 php-cgi                                                                                                              
          10709 www       16   0  359m  28m  17m R 96.8  0.4    0:11.34 php-cgi                                                                                                              
          10745 www       18   0  360m  24m  14m R 94.8  0.3    0:39.51 php-cgi                                                                                                              
          10707 www       18   0  360m  25m  14m S 77.4  0.3    0:33.48 php-cgi                                                                                                              
          10782 www       20   0  360m  26m  15m R 75.5  0.3    0:10.93 php-cgi                                                                                                              
          10708 www       25   0  360m  22m  12m R 69.7  0.3    0:45.16 php-cgi                                                                                                              
          10683 www       25   0  362m  28m  15m R 54.2  0.4    0:32.65 php-cgi                                                                                                              
          10711 www       25   0  360m  25m  15m R 52.2  0.3    0:44.25 php-cgi                                                                                                              
          10688 www       25   0  359m  25m  15m R 38.7  0.3    0:10.44 php-cgi                                                                                                              
          10719 www       25   0  360m  26m  16m R  7.7  0.3    0:40.59 php-cgi

            找其中一個 CPU 100% 的 php-cgi 進程的 PID,用以下命令跟蹤一下:
          strace -p 10747

            如果屏幕顯示:
          select(7, [6], [6], [], {15, 0})        = 1 (out [6], left {15, 0})
          poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
          select(7, [6], [6], [], {15, 0})        = 1 (out [6], left {15, 0})
          poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
          select(7, [6], [6], [], {15, 0})        = 1 (out [6], left {15, 0})
          poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
          select(7, [6], [6], [], {15, 0})        = 1 (out [6], left {15, 0})
          poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
          select(7, [6], [6], [], {15, 0})        = 1 (out [6], left {15, 0})
          poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
          select(7, [6], [6], [], {15, 0})        = 1 (out [6], left {15, 0})
          poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
          select(7, [6], [6], [], {15, 0})        = 1 (out [6], left {15, 0})
          poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
          select(7, [6], [6], [], {15, 0})        = 1 (out [6], left {15, 0})
          poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
          select(7, [6], [6], [], {15, 0})        = 1 (out [6], left {15, 0})
          poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)
          select(7, [6], [6], [], {15, 0})        = 1 (out [6], left {15, 0})
          poll([{fd=6, events=POLLIN}], 1, 0)     = 0 (Timeout)

            那么,就可以確定是 file_get_contents() 導致的問題了。
            [文章作者:張宴 本文版本:v1.0 最后修改:2011.07.26 轉載請注明原文鏈接:http://blog.www.lukangtou.cn/httpsqs_1_7/]

            HTTPSQS(HTTP Simple Queue Service)是一款基于 HTTP GET/POST 協議的輕量級開源簡單消息隊列服務,使用 Tokyo Cabinet 的 B+Tree Key/Value 數據庫來做數據的持久化存儲。

            項目網址http://code.google.com/p/httpsqs/
            使用文檔http://blog.www.lukangtou.cn/httpsqs/
            使用環境:Linux(同時支持32位、64位操作系統,推薦使用64位操作系統)
            軟件作者:張宴



            HTTPSQS 1.7 版本更新內容:

            下面的內容不只是介紹 HTTPSQS 1.7 更新了哪些東西,更多的介紹在于:如何繞開 Libevent 2.0.x evhttp 使用過程中,無法正常處理包含“|”字符的 URI 參數的問題;提供了一份比 Libevent 官方網站更新的在線文檔;Linux 下如何動態編譯程序,運行時不用在 /etc/ld.so.conf 文件中添加動態鏈接庫路徑。

            1、針對 Libevent 2.0.x 版本 evhttp_parse_query 函數的 BUG。

            網友發郵件,反應了一個 HTTPSQS 的 BUG,見下圖,data 的值為NULL。我查找發現,這不是 HTTPSQS 的 BUG,而是 Libevent 2.0.x 版本的 BUG。在 Libevent 1.4.14b 版本中,evhttp_parse_query 函數是能夠正常處理包含“|”字符的 URI 的,而在 Libevent 2.0.12 版本中,同樣使用 evhttp_parse_query 函數,包含“|”字符的 URI  處理后的結果是 NULL。

            點擊在新窗口中瀏覽此圖片

            對比 Libevent 2.0.12 和 1.4.14b 版本的 evhttp_parse_query 函數代碼,發現在 2.0.12 版本中,evhttp_parse_query(const char *uri, struct evkeyvalq *headers) 實際變成了調用 evhttp_parse_query_impl(uri, headers, 1) 函數,該函數內再調用的一個 2.0.x 版本新增的函數 evhttp_uri_parse(const char *source_uri),邏輯處理代碼在 evhttp_uri_parse_with_flags(const char *source_uri, unsigned flags) 函數中。evhttp_uri_parse(const char *source_uri) 無法正確解析含有“|”的URL,遇到類似“http://127.0.0.1:1218/?opt=get&name=aaa|bbb”的URL,直接返回NULL,也就是 BUG 所在。

            libevent-2.0.12-stable/http.c
            點擊在新窗口中瀏覽此圖片

            點擊在新窗口中瀏覽此圖片

            點擊在新窗口中瀏覽此圖片

            不建議修改第三方庫,這個 BUG 還是留給 Libevent 自己去解決吧。使用 Libevent 2.0.x evhttp 作開發的同學,遇到URI參數中包含“|”的問題,注意一下吧。

            我修改了 HTTPSQS 代碼,在 HTTPSQS 1.7 版本,采用以下方式來繞開evhttp_uri_parse(const char *source_uri)函數,解決這個問題。其中用到了 Libevent 2.0.x  evhttp_request 結構體中新增的 struct evhttp_uri *uri_elems,以及新增的函數 evhttp_parse_query_str (const char *uri, struct evkeyvalq *headers)。

            Libevent 的官方文檔只有 1.4.10-stable2.0.1-alpha 版本的,2.0.1x 很多新增的函數、結構體都沒有。

            我這里提供一份最新的 Libevent 在線文檔: http://blog.www.lukangtou.cn/book/libevent/



            2、靜態編譯改為動態編譯,并指定程序運行時查找的動態鏈接庫路徑

            一些網友反映,CentOS 6.0、Fedora 等系統沒有默認安裝lz、lbz2、lrt、...等靜態鏈接庫,出現無法編譯HTTPSQS的情況:
          gcc -o httpsqs httpsqs.c prename.c -L/usr/local/libevent-2.0.10-stable/lib/ -levent -L/usr/local/tokyocabinet-1.4.47/lib/ -ltokyocabinet -I/usr/local/libevent-2.0.10-stable/include/ -I/usr/local/tokyocabinet-1.4.47/include/ -lz -lbz2 -lrt -lpthread -lm -lc -O2 -g --static  
          /usr/bin/ld: cannot find -lz  
          /usr/bin/ld: cannot find -lbz2  
          /usr/bin/ld: cannot find -lrt  
          /usr/bin/ld: cannot find -lpthread  
          /usr/bin/ld: cannot find -lm  
          /usr/bin/ld: cannot find -lc  
          /usr/bin/ld: cannot find -lc  
          collect2: ld 返回 1  
          make: *** [httpsqs] 錯誤 1


            HTTPSQS 1.7 版本改為動態編譯,編譯時使用“-Wl,-rpath”參數指定了程序運行時的動態庫搜索路徑。這樣就不需要在 /etc/ld.so.conf 中 添加 HTTPSQS 程序運行時需要的 libevent、tokyocabinet 動態鏈接庫路徑了,可以避免與其他軟件(例如:Memcached、TT)使用的 libevent、tokyocabinet 動態鏈接庫版本相沖突。詳情請見 Makefile 文件:
          # Makefile for httpsqs
          CC=gcc
          CFLAGS=-Wl,-rpath,/usr/local/libevent-2.0.12-stable/lib/:/usr/local/tokyocabinet-1.4.47/lib/ -L/usr/local/libevent-2.0.12-stable/lib/ -levent -L/usr/local/tokyocabinet-1.4.47/lib/ -ltokyocabinet -I/usr/local/libevent-2.0.12-stable/include/ -I/usr/local/tokyocabinet-1.4.47/include/ -lz -lbz2 -lrt -lpthread -lm -lc -O2 -g

          httpsqs: httpsqs.c
            $(CC) -o httpsqs httpsqs.c prename.c $(CFLAGS)
            @echo ""
            @echo "httpsqs build complete."
            @echo ""  

          clean: httpsqs
            rm -f httpsqs

          install: httpsqs
            install $(INSTALL_FLAGS) -m 4755 -o root httpsqs $(DESTDIR)/usr/bin

          分頁: 2/31 第一頁 上頁 1 2 3 4 5 6 7 8 9 10 下頁 最后頁 [ 顯示模式: 摘要 | 列表 ]