欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

libevent使用 libevent導(dǎo)入項(xiàng)目

系統(tǒng) 2003 0

最近做mysql代理層讀寫分離,發(fā)現(xiàn)在C,C++領(lǐng)域libevent很厲害的樣子。  

1. 安裝libevent

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

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

      
        yum install libevent

yum install libevent
      
      -devel
    

  如果是源碼安裝,可能會(huì)麻煩點(diǎn),因?yàn)槟阍谥付ò惭b路徑的時(shí)候,可能和系統(tǒng)不識(shí)別的庫不錄不一致,比如你系統(tǒng)是64位的,你卻將動(dòng)態(tài)連接庫裝在了你的當(dāng)前目錄/root/,那么這樣需要將你當(dāng)前這臺(tái)機(jī)器的/etc/ld.conf.d/下增加一個(gè)文件,名字任意,內(nèi)容為/root

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

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

  2. 創(chuàng)建項(xiàng)目。

  最簡單的項(xiàng)目其實(shí)就是一個(gè)C文件

      #include <stdio.h>
      
        



#include 
      
      
        "
      
      
        event.h
      
      
        "
      
      
        int
      
      
         main()

{

    printf(
      
      
        "
      
      
        helloworld~\n
      
      
        "
      
      
        );

    
      
      
        struct
      
       event_base *
      
        events;

}           
      
    

執(zhí)行

      gcc test.c
    

可以看到生成了一個(gè)a.out文件

執(zhí)行

      
        ./a.out
      
    

可以得到輸出,并且證明/usr/include 下的event.h是在gcc中是默認(rèn)識(shí)別的。并且創(chuàng)建一個(gè)一個(gè)未使用的結(jié)構(gòu)提events.

?

由以上得出:

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

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

      #include <sys/epoll.h>
    

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

libevent使用<一> libevent導(dǎo)入項(xiàng)目


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产一区日韩精品 | 四虎影视永久免费观看网址 | 亚洲区一 | 丰满岳妇乱一区二区三区 | 精品一区二区三区在线视频 | 成人在线免费视频观看 | h视频在线免费 | 午夜色a大片在线观看免费 龙珠z在线观看 | 亚洲黄区 | 久草视频手机在线 | 不卡一区二区三区四区 | 99热最新网址 | 欧美爱爱视频网站 | 荷兰欧美一级毛片 | 欧美不卡一区二区三区在线观看 | 亚洲欧美日韩在线中文一 | 成人做爰高潮片免费视频韩国 | 日本一区二区三区免费观看 | 九九热线有精品视频99 | 国产精品久久久久免费 | 色多多视频导航 | 青青草人人 | 99re久久资源最新地址 | 久久处女视频 | 成人欧美网站免费 | 欧美在线视频一区二区 | 男人的天堂在线视频 | 第一福利在线观看 | 久久精品国产第一区二区 | 亚洲一级在线观看 | 欧美在线一区视频 | 国产大尺度吃奶无遮无挡网 | 久草视频在线首页 | 波多野结衣VR全景3D | 欧美精品在线免费观看 | 欧美激情视频二区三区 | 国产欧美日韩亚洲精品区2345 | 欧美一区二区大片 | 日日做日日摸夜夜爽 | 丁香亚洲| 搞av.com|