锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美一区在线直播,亚洲视频精选在线,在线观看欧美激情http://www.shnenglu.com/yg2362/category/18456.htmlzh-cnThu, 06 Sep 2012 19:54:47 GMTThu, 06 Sep 2012 19:54:47 GMT60鍏變韓鍐呭瓨(涓)http://www.shnenglu.com/yg2362/archive/2012/09/06/189732.html姊ㄦ爲(wèi)闃沖厜姊ㄦ爲(wèi)闃沖厜Thu, 06 Sep 2012 11:26:00 GMThttp://www.shnenglu.com/yg2362/archive/2012/09/06/189732.htmlhttp://www.shnenglu.com/yg2362/comments/189732.htmlhttp://www.shnenglu.com/yg2362/archive/2012/09/06/189732.html#Feedback0http://www.shnenglu.com/yg2362/comments/commentRss/189732.htmlhttp://www.shnenglu.com/yg2362/services/trackbacks/189732.html
鎴戜滑鍙互鐪嬪埌涓婇潰鐨勬嫹璐濇鏁版槸4嬈★紝涓嬮潰鍒欐槸2嬈°?br />鎺ヤ笅鏉ユ垜浠湅鐪嬩嬌鐢紝鍏跺疄緗戜笂鍜屼功涓婇兘鏈変簡(jiǎn)寰堝璧勬枡錛孉PI灝辨槸閭d箞鍑犱釜銆?br />int shmget(key_t key,size_t size,int shmflag)銆?br />key錛氬彲浠ユ寚瀹欼PC_PRIVATE,閭d箞緋葷粺浼?xì)湄?fù)浣犲垱寤轟竴涓猭ey錛屽茍涓旇繑鍥炰竴涓猧d鍙楓備篃鍙互閫氳繃ftok鍑芥暟鐢熸垚涓涓猭ey錛堜笉浜?jiǎn)瑙tok鐨勭闉嬪彲浠ュ姩鎵媘an涓涓嬶級(jí)銆傞偅涔堜負(fù)浠涔堣涓涓狪PC鏃㈣涓涓猭ey鍙堟湁涓涓狪D鍛€傝繖閲屾垜瑙夊緱鏄負(fù)浜?jiǎn)鏂逛究鍏朵粬杩浗E嬭闂傝繘紼婣鍒涘緩浜?jiǎn)涓涓叡浜唴瀛橈紝鍐呮牳涓哄叾鍒嗛厤涓涓狪D錛岃繖涓椂鍊欒繘紼婤鎯寵璁塊棶錛屼粬鎬庝箞鑾峰彇榪欎釜ID(闅鵑亾闇瑕丄鎶奍D鍙戦佺粰B錛燂紵)銆備絾鏄垜浠敤涓涓猭ey灝卞緢鏂逛究浜?jiǎn)銆備簨鍏圓,B榪涚▼閮界煡閬撹繖涓猭ey錛岄偅涔圓鍒涘緩浜?jiǎn)锛孊灝卞彲浠ラ氳繃浜嬪厛鐭ラ亾key鎵懼埌榪欏潡鍐呭瓨銆?br />size錛氬叡浜唴瀛樼殑澶у皬銆傚鏋滄槸鑾峰緱涓鍧楀唴瀛橈紝鍒欒鍊煎簲璇ヤ負(fù)0銆?br />shmflag:璇誨啓鏉冮檺鐨勭粍鍚堬紝鍙互涓嶪PC_CREAT鍜孖PC_EXCL鎸変綅鎴栥傚綋鎸囧畾涓涓猭ey鏃訛紝IPC_CREAT鍜孖PC_EXCL閰嶅悎浣跨敤鍙互鍦ㄥ瓨鍦ㄨkey鐨勫叡浜唴瀛樻椂榪斿洖-1銆?br />褰撹鍑芥暟璋冪敤鎴愬姛鍚庯紝榪斿洖涓涓郴緇熷垎閰嶇殑鍏變韓鍐呭瓨錛屽茍涓攕ize澶у皬鐨勫瓧鑺傝鍒濆鍖栦負(fù)0

void *shmat(int shmid, const void *shmaddr, int shmflg)
鏈変簡(jiǎn)涓鍧楀叡浜唴瀛樺悗錛岃繘紼嬮渶瑕佹槧灝勮鍐呭瓨鍒拌繘紼嬬殑鍦板潃絀洪棿銆傝繖涓嚱鏁板氨鏄綔鐢ㄣ?br />shmid灝辨槸涔嬪墠鑾峰緱ID錛宻hmaddr濡傛灉鎸囧畾浜?jiǎn)锛尀兗?xì)閰嶅悎shmflg紜畾鏄犲皠鍦板潃錛屼笉榪囦竴鑸兘涓嶈繖涔堝共鐨勩傝繑鍥炲煎氨鏄幏寰楃殑鍦板潃錛屼綘鍙互寰閲岄潰鍐欎綘鎴栬呰浣犻渶瑕佺殑鏁版嵁浜?jiǎn)銆傚悓鏃惰皟鐢ㄤ簡(jiǎn)璇ュ嚱鏁幫紝緋葷粺浼?xì)淇敼shmid_ds鏁版嵁銆?br />
int shmdt(const void *shmaddr)
瑙i櫎緇戝畾鍏崇郴錛屽弬鏁板氨鏄垜浠箣鍓嶈幏鍙栫殑閭d釜榪斿洖鍦板潃銆?鍏跺疄鎴戣寰楄繖閲屽弬鏁板鏋滀負(fù)ID璨屼技鏇寸粺涓浜涘惂)

int shmctl(int shmid, int cmd, struct shmid_ds *buf)
榪欎釜鍑芥暟涓昏鍋氫竴浜涗慨鏀瑰拰鏌ヨ銆傛瘮濡傝緗攣錛岃В閿侊紝縐婚櫎涓鍧楀叡浜唴瀛樸?br />
綆鍗曚粙緇嶄簡(jiǎn)API錛岃繕瑕佽涓涓嬩竴浜涙敞鎰忕殑涓滆タ
1.鍏變韓鍐呭瓨涓嶄細(xì)鎶婃暟鎹啓鍏ョ鐩樻枃浠朵腑錛岃繖涓尯鍒簬mmap
2.鍗充嬌娌℃湁榪涚▼緇戝畾鍦ㄥ叡浜唴瀛橈紝鍏變韓鍐呭瓨涔熶笉浼?xì)娑堝まq殑銆傚繀欏婚氳繃shmctl鎴栬卛pcrm鍒犻櫎(鎴栬呮洿鏆村姏鐨勬柟寮忓叧鎺夌數(shù)鑴?

鍙﹀鎴戜滑鍙兘浼?xì)鑰冭檻錛岀郴緇熸渶澶氬垱寤哄灝戜釜鍏變韓鍐呭瓨錛屼竴涓繘紼嬫渶澶氬彲浠ョ粦瀹氬灝戜釜鍐呭瓨錛屼竴涓叡浜唴瀛樺垱寤虹殑size鏈澶ф渶灝忓兼槸澶氬皯銆傚叾瀹炶繖浜涜緗湪/proc/sys/kernel涓嬮潰錛屾垜浠篃鍙互鑷繁鍐欑▼搴忔潵璇誨彇銆傝創(chuàng)涓孌典唬鐮佺敤鏉ヨ幏鍙栦笂闈㈢殑淇℃伅
#define MAX_SHMIDS        8196

int main(int argc,char *argv[])
{
    int i,j;
    int shmid[MAX_SHMIDS] = {0};
    void *addr[MAX_SHMIDS] = {0};
    
    //嫻嬭瘯鍙互鍒涘緩澶氬皯涓叡浜唴瀛?/span>
    for ( i = 0;i < MAX_SHMIDS;++i )
    {
        shmid[i] = shmget(IPC_PRIVATE,1024,0666|IPC_CREAT);
        if ( shmid[i] == -1 )
        {
            printf("create shared memory failed,max create num[%d],%s\r\n",i,strerror(errno));
            break;
        }
    }
    
    for ( int j = 0;j < i;++j )
    {
        shmctl(shmid[j],IPC_RMID,NULL);
    }
    
    //嫻嬭瘯姣忎釜榪涚▼鍙互attach鐨勬渶澶ф暟
    for ( i = 0;i < MAX_SHMIDS;++i )
    {
        shmid[i] = shmget(IPC_PRIVATE,1024,0666|IPC_CREAT);
        if ( shmid[i] != -1 )
        {
            addr[i] = shmat(shmid[i],0,0);
            if ( addr[i] == (void *)-1 )
            {
                printf("process attach shared memory failed,max num[%d],%s\r\n",i,strerror(errno));
                shmctl(shmid[i],IPC_RMID,NULL);
                break;
            }
        }
        else
        {
            printf("max num of process attach shared memory is[%d]\r\n",i-1);
            break;
        }
    }
    
    for ( j = 0;j < i;++j )
    {
        shmdt(addr[j]);
        shmctl(shmid[j],IPC_RMID,NULL);
    }
    
    //嫻嬭瘯涓涓叡浜唴瀛樺垱寤烘渶灝忕殑size
    size_t size = 0;
    for ( ;;size++ )
    {
        shmid[0] = shmget(IPC_PRIVATE,size,0666|IPC_CREAT);
        if ( shmid[0] != -1 )
        {
            printf("create shared memory succeed,min size[%d]\r\n",size);
            shmctl(shmid[0],IPC_RMID,NULL);
            break;
        }
    }
    
    //嫻嬭瘯鍏變韓鍐呭瓨鍒涘緩鏈澶х殑size
    for ( size = 65536;;size += 1024 )
    {
        shmid[0] = shmget(IPC_PRIVATE,size,0666|IPC_CREAT);
        if ( shmid[0] == -1 )
        {
            printf("create shared memory failed,max size[%ld],%s\r\n",size,strerror(errno));
            break;
        }
        
        shmctl(shmid[0],IPC_RMID,NULL);
    }
    
    exit(0);
}
濂戒簡(jiǎn)錛屼笅綃囧紑濮嬩粙緇嶅浣曟帶鍒惰鍐欍?/div>

]]>Linux涓嬬殑闈?rùn)鎬佸簱鍜屽姩鎬佸簱http://www.shnenglu.com/yg2362/archive/2012/07/11/182832.html姊ㄦ爲(wèi)闃沖厜姊ㄦ爲(wèi)闃沖厜Wed, 11 Jul 2012 07:15:00 GMThttp://www.shnenglu.com/yg2362/archive/2012/07/11/182832.htmlhttp://www.shnenglu.com/yg2362/comments/182832.htmlhttp://www.shnenglu.com/yg2362/archive/2012/07/11/182832.html#Feedback0http://www.shnenglu.com/yg2362/comments/commentRss/182832.htmlhttp://www.shnenglu.com/yg2362/services/trackbacks/182832.html

1.鍒朵綔鑷繁鐨勫姩鎬佸簱鍜岄潤(rùn)鎬佸簱

linux涓嬪姩鎬佸簱浠?/span>.so緇撳熬錛岄潤(rùn)鎬佸簱浠?/span>.a緇撳熬錛屽畠浠兘浠?/span>lib寮澶達(dá)紝姣斿涓涓簱鍚嶄負(fù)net,閭d箞瀹冪殑鍏ㄥ悕搴旇鏄?/span>libnet.so鎴栬?/span>libnet.a銆?/span>

鎴戜滑鏈変袱涓枃浠訛紝hello.c鍜?/span>test.c錛屼笅闈㈡槸涓や釜鏂囦歡鐨勫唴瀹?/span>

//hello.c

#include <stdio.h>

 

void my_lib_func()

{

printf("Library routine called\r\n");

}

 

//test.c

#include <stdio.h>

 

int main()

{

my_lib_func();

 

return 1;

}

 

test.c璋冪敤浜?/span>hello.c鐨勬柟娉曪紝鎴戜滑鎶?/span>hello.c灝佽鎴愬簱鏂囦歡銆傛棤璁烘槸闈?rùn)鎬佸簱榪樻槸鍔ㄦ佸簱錛岄兘鏄敱.o鏂囦歡緇勬垚錛屾垜浠厛鎶?/span>gcc -c hello.c鐢熸垚.o鏂囦歡

鍒朵綔闈?rùn)鎬佸簱

ar crv libmyhello.a hello.o錛?/span>ar鏄敓鎴愰潤(rùn)鎬佸簱鐨勫懡浠わ紝libmyhello.a鏄垜鐨勯潤(rùn)鎬佸簱鍚嶃備笅涓姝ュ氨鏄湪鎴戠殑紼嬪簭涓嬌鐢ㄩ潤(rùn)鎬佸簱

鍙互鐪嬪埌宸茬粡鏈変簡(jiǎn)Library routine called鐨勭粨鏋滐紝璇存槑璋冪敤鎴愬姛浜?jiǎn)銆?/p>

涓嬮潰鎴戜滑鍒犻櫎libmyhello.a,鐪嬬湅紼嬪簭鏄惁榪樻槸榪愯姝e父


鎴戜滑鍙戠幇紼嬪簭渚濈劧榪愯姝e父錛岃鏄庨潤(rùn)鎬佸簱宸茬粡榪炴帴榪涘叆鎴戜滑鐨勭▼搴忎腑

鍒朵綔鍔ㄦ佸簱


鎴戜滑鐪嬭鍔ㄦ佸簱libmyhello.so宸茬粡鐢熸垚錛屼笅闈㈢戶緇嬌鐢?/span>


鎵句笉鍒板簱鏂囦歡錛岃繖涓椂鍊欐垜浠妸so鏂囦歡鎷瘋礉鍒?/span>/usr/lib涓嬮潰


榪愯鎴愬姛

 

2.鍔ㄦ佸簱鍜岄潤(rùn)鎬佸簱鍚屾椂瀛樺湪鐨勮皟鐢ㄨ鍒?/span>

鎴戜滑鍙互鍙戠幇錛屼笉璁烘槸鍔ㄦ佸簱榪樻槸闈?rùn)鎬佸簱錛岀▼搴忕紪璇戣繛鎺ョ殑鏃跺欓兘鏄姞鐨勫弬鏁?/span>-l錛岄偅涔堝綋浠栦滑鍚屾椂瀛樺湪鐨勬椂鍊欙紝紼嬪簭浼?xì)閫夋嫨鍔ㄦ佸簱榪樻槸闈?rùn)鎬佸簱鍛€傛垜浠仛涓皾璇曘?/span>


鎴戜滑鍚屾椂瀛樺湪libmyhello.a鍜?/span>libmyhello.so錛屾垜浠彂鐜拌繍琛岀殑鏃跺欙紝鍑虹幇鎵句笉鍒板姩鎬佸簱鐨勯敊璇紝鐢辨錛屾垜浠彲浠ュ緱鍑虹粨璁猴紝鍚屾椂瀛樺湪鍔ㄦ佸簱鍜岄潤(rùn)鎬佸簱鐨勬椂鍊欙紝gcc浼?xì)浼樺厛閫夋嫨鍔ㄦ佸簱



]]>
久久精品中文闷骚内射| 热久久国产欧美一区二区精品| 国产精品女同久久久久电影院| 国产精品久久一区二区三区| 国产高潮久久免费观看| 超级碰碰碰碰97久久久久| 久久久久久亚洲AV无码专区| 久久综合久久综合久久| 精品久久久久久久久免费影院| 99久久久精品免费观看国产| 伊人久久一区二区三区无码| 久久夜色精品国产亚洲| 亚洲午夜久久久久妓女影院| 久久精品免费大片国产大片| 国产亚洲婷婷香蕉久久精品| 一个色综合久久| 久久电影网| 久久成人国产精品二三区| 亚洲国产精品18久久久久久| 理论片午午伦夜理片久久| 久久综合九色综合精品| 久久精品国产91久久综合麻豆自制 | 久久久久99这里有精品10 | 少妇人妻88久久中文字幕| 久久久久亚洲AV无码去区首| 国产精品久久久亚洲| 久久久久人妻一区二区三区| 秋霞久久国产精品电影院| 性高湖久久久久久久久| 精品久久亚洲中文无码| 久久伊人中文无码| 精品久久久久久无码国产| 99久久亚洲综合精品成人| 丰满少妇人妻久久久久久| 久久狠狠爱亚洲综合影院| 久久久久久久久66精品片| 一级a性色生活片久久无| 色狠狠久久综合网| 精品久久久久久国产| 亚洲AV日韩精品久久久久久| 日本久久久久亚洲中字幕|