亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

libevent使用 libevent導入項目

系統 2188 0

最近做mysql代理層讀寫分離,發現在C,C++領域libevent很厲害的樣子。  

1. 安裝libevent

    linux下源碼安裝或者直接yum安裝。

    libevent只是一套對一些底層技術的封裝,自己本身并不像其他linux使用yum安裝的軟件一樣會在/usr/bin/下有可執行文件,他只是一套動態鏈接庫。即你可以在你的C程序中使用他.

      
        yum install libevent

yum install libevent
      
      -devel
    

  如果是源碼安裝,可能會麻煩點,因為你在指定安裝路徑的時候,可能和系統不識別的庫不錄不一致,比如你系統是64位的,你卻將動態連接庫裝在了你的當前目錄/root/,那么這樣需要將你當前這臺機器的/etc/ld.conf.d/下增加一個文件,名字任意,內容為/root

  保存退出后指定ldconfig,ldconfig是linux系統的搜索系統下 默認搜尋目錄(/lib和/usr/lib)以及動態庫配置文件/etc/ld.so.conf內所列的目錄下,搜索出可共享的動態 鏈接庫(格式如前介紹,lib*.so*),進而創建出動態裝入程序(ld.so)所需的連接和緩存文件.緩存文件默認為 /etc/ld.so.cache,此文件保存已排好序的動態鏈接庫名字列表。即ldconfig是找到了我們自己的/root目錄下的所有動態庫名并且存入了/etc/ld.so.cache緩存文件。在我們程序運行過程中,就會動態鏈接到/etc/ld.so.cache文件中指明的文件了。

  例外,由于我們是使用的yum的安裝方式安裝的libevent-devel,所以其頭文件都是仿制在該計算機系統識別的默認路徑上,如果我們直接使用gcc就根本不用指定頭文件的地址。當然如果我們沒有安裝libevent-devel,也可以copy到我們自己的項目中,在當前路徑下該更能識別了吧。

  2. 創建項目。

  最簡單的項目其實就是一個C文件

      #include <stdio.h>
      
        



#include 
      
      
        "
      
      
        event.h
      
      
        "
      
      
        int
      
      
         main()

{

    printf(
      
      
        "
      
      
        helloworld~\n
      
      
        "
      
      
        );

    
      
      
        struct
      
       event_base *
      
        events;

}           
      
    

執行

      gcc test.c
    

可以看到生成了一個a.out文件

執行

      
        ./a.out
      
    

可以得到輸出,并且證明/usr/include 下的event.h是在gcc中是默認識別的。并且創建一個一個未使用的結構提events.

?

由以上得出:

linux在使用gcc對源碼進行編譯的時候,除了開發者自己指定的路徑,當前路徑,還包括系統自己默認的路徑,比如/usr/lib64,就包括很多so動態鏈接庫,而所謂的動態鏈接庫是由C或C++程序通過GCC生成的不帶main方法的一對程序集合,這些程序集合可以給其他main程序提供支持,當然同時得有頭文件的定義。動態鏈接的意思是在程序已經編譯通過,在運行過程中鏈接該鏈接庫中的代碼的過程,而靜態鏈接是直接將靜態鏈接庫作為我們代碼中的一部分進行編譯,這樣做程序執行速度會比較快,但是對于系統存儲空間會占用的比較多。

另外頭文件在系統中使用yum install *-devel 會安裝到/usr/include中,包括 kernel的頭文件,會存儲在/usr/include/sys中,所以我們在一些C程序中會看到:

      #include <sys/epoll.h>
    

這樣的代碼,實際上就是去找到了/usr/include/sys/epoll.h下的頭文件,當然找到頭文件并沒有多大用,還的找到頭文件中定義的那些方法的源碼生成的動態庫的位置。

libevent使用<一> libevent導入項目


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人a大片高清在线观看 | 亚洲高清视频在线观看 | 四虎网站最新网址 | 色片在线看 | 亚洲国产精品网 | 99久久精品国产一区二区三区 | 国产与自拍 | 午夜不卡福利 | 国产高h| 四虎影视在线影院4hu | www.九色.com| 欧美乱子伦一区二区三区 | 一区二区三区四区国产精品 | 在线精品国精品国产不卡 | 亚洲日本免费 | 一级毛片私人影院 | 91精品国产91热久久p | 精品久久久久久影院免费 | 久久久这里只有免费精品2018 | 在线观看精品国语偷拍 | 精品国产乱码一区二区三区 | 精品久久久久久中文字幕专区 | 成人aa在线观看视频 | 色 综合 欧美 亚洲 国产 | 91精品国产综合久久久久久 | 欧美在线看片 | 亚洲国产一区二区三区最新 | 黄色在线观看网站 | 青娱乐91在线 | 中文字幕久久久久久精 | 一级片免 | 国产美女免费观看 | 97精品视频在线观看 | 老司机永久免费视频 | 国产一级做a爱免费视频 | 久久精品国产一区二区小说 | 青青青国产 | 日韩欧美中文字幕在线观看 | 中文字幕人成乱码第一页 | 香蕉碰碰人人a久久动漫精品 | 性生生活三级视频观看 |