锘??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品天天中文字幕人妻,午夜人妻久久久久久久久,亚洲伊人久久精品影院http://www.shnenglu.com/changup/zh-cnWed, 07 May 2025 01:29:56 GMTWed, 07 May 2025 01:29:56 GMT60c涓皟鐢╬erl鐨勬祴璇曞皬紼嬪簭錛屽悇縐嶅満鏅戶緇祴璇曚腑http://www.shnenglu.com/changup/archive/2010/12/30/137753.htmlchangupchangupThu, 30 Dec 2010 10:14:00 GMThttp://www.shnenglu.com/changup/archive/2010/12/30/137753.htmlhttp://www.shnenglu.com/changup/comments/137753.htmlhttp://www.shnenglu.com/changup/archive/2010/12/30/137753.html#Feedback0http://www.shnenglu.com/changup/comments/commentRss/137753.htmlhttp://www.shnenglu.com/changup/services/trackbacks/137753.htmltar鍖呬綅緗細http://www.shnenglu.com/Files/changup/c_perl.tar

鏈嫻嬭瘯姣旇緝瀹屾暣鐨勪竴涓猚鏂囦歡錛岃創鍑烘潵錛岃楂樹漢鎸囩偣瀹屽杽錛屼簤鍙栧ぇ瀹跺疄闄呬腑鑳界敤濂斤紝姣曠珶鎰熻鍦ㄧ▼搴忎腑宓屽叆瑙i噴鎬х殑鑴氭湰鏄潪甯稿ソ鐨勶紝灝ゅ叾閽堝澶嶆潅澶氬彉鐨勪笟鍔¢昏緫閮ㄥ垎錛?br>

 

#include <stdio.h>
#include 
<string.h>
#include 
<stdlib.h>
#include 
<EXTERN.h>
#include 
<perl.h>

static PerlInterpreter* my_perl;

#define CALLFUN_BEGIN  dSP; \
          ENTER; \
          SAVETMPS; \
          PUSHMARK(SP);
#define CALLFUN_END  FREETMPS;\
          LEAVE;
           


void initperlenv(int argc, char* argv[])
{
    my_perl 
= perl_alloc();
    perl_construct(my_perl);    
    perl_parse(my_perl, NULL, argc, argv, (
char **)NULL);
}

void destroyperlenv()
{
      perl_destruct(my_perl);
      perl_free(my_perl);    
}

/* 鏅歱erl鏍囬噺鐨勬搷浣?br>*/
void SV_test()
{
    
//鍒涘緩
    SV* sv_i = newSViv(99);
    SV
* sv_n = newSVnv(23.45);
    SV
* sv_p = newSVpv("test string",0);
    
    SV
* funstring = 0;
    
    
//灝嗗彉閲忚緗負mortal錛?/span>
    sv_2mortal(sv_i);
    sv_2mortal(sv_n);
    sv_2mortal(sv_p);    
    
    
//鎺㈡祴綾誨瀷
    if(SvIOK(sv_i))
    {
        printf(
"sv_i is a int type,value=%d\n"*(int*)(sv_i->sv_any));
    }
    
else
    {
        printf(
"sv_i is not a int type\n");
    }
    
if(SvNOK(sv_n))
    {
        printf(
"sv_n is a double type\n");
    }
    
else
    {
        printf(
"sv_n is not a double type\n");
    }
    
if(SvPOK(sv_p))
    {
        printf(
"sv_p is a string type\n");
    }
    
else
    {
        printf(
"sv_p is not a string type\n");
    }
    
    
//鎺㈡祴綾誨瀷錛岃繖嬈℃墦鍗板嚭鐨勬槸綾誨瀷鐨勫畯瀹氫箟
    printf("sv_i.type=%u\n", SvTYPE(sv_i));
    printf(
"sv_n.type=%u\n", SvTYPE(sv_n));
    printf(
"sv_p.type=%u\n", SvTYPE(sv_p));
    
    
//浠ヤ紭緹庣殑鏍煎紡鎵撳嵃鏍囬噺
    sv_dump(sv_i);
    sv_dump(sv_n);
    sv_dump(sv_p);
    
    
//淇敼鍊?/span>
    sv_setiv(sv_i,89);
    sv_dump(sv_i);
    sv_setnv(sv_n,
89.76);
    sv_dump(sv_n);
    sv_setpv(sv_p,
"String changed");
    sv_dump(sv_p);
    
    
//鎿嶄綔pl鑴氭湰涓殑鏂囦歡
    funstring = perl_get_sv("main::getstring",1); //娌℃湁寰楀埌鍊?/span>
    sv_dump(funstring);
}

/* 鎿嶄綔perl鍑芥暟
sub fun1()
{
    $username = shift;
    $arg = shift;
    print "your name=$username,your arg=$arg\n";
    return 88;
}
*/
int call_fun()
{
    
//璋冪敤鍑芥暟鍓嶇殑perl鍫嗘爤鎿嶄綔
    CALLFUN_BEGIN;
    
    
//鍙傛暟鍏ユ爤
    XPUSHs(sv_2mortal(newSVpv("changym",0)));
    XPUSHs(sv_2mortal(newSViv(
32)));
    PUTBACK; 
//琛ㄧず鍙傛暟瀹屼簡
    
    
//璋冪敤鍑芥暟
    perl_call_pv("fun1",G_SCALAR); //G_SCALAR---榪斿洖鏍囬噺;G_ARRAY--榪斿洖鏁扮粍
    /*
    #define G_SCALAR        0
    #define G_ARRAY         1
    #define G_VOID          128     /* skip this bit when adding flags below 
*/
    
    
//extra flags for Perl_call_* routines
    
//#define G_DISCARD       2       /* Call FREETMPS. */
    
//#define G_EVAL          4       /* Assume eval {} around subroutine call. */
    
//#define G_NOARGS        8       /* Don't construct a @_ array. */
    
//#define G_KEEPERR      16       /* Append errors to $@, don't overwrite it */
    
//#define G_NODEBUG      32       /* Disable debugging at toplevel.  */
    
//#define G_METHOD       64       /* Calling method. */
    
    
//寮濮嬫搷浣滆繑鍥炲間簡
    SPAGAIN;
    printf(
"inner ibm.pl,fun1 return %s\n",POPp); //POPi---int, POPp--pchar
    PUTBACK; //琛ㄧず榪斿洖鍊煎彇瀹屼簡
    
    
//perl鏍堣祫婧愬洖鏀?/span>
    CALLFUN_END;
    
return 0;
}

/* 鎿嶄綔perl鍑芥暟,perl 鍑芥暟榪斿洖涓涓暟緇?br>sub return_array()
{
    @arr = ("changym","chenjx","changjr","xiaobaobao");
    print "inner ibm.pl.return_array:@arr\n";
}
*/
int call_fun_ret_array()
{
    
int ireturn = 0;
    STRLEN n_a; 
//璇″紓鐨勭幇璞★紝闈炶瀹氫箟榪欎釜鍚﹀垯鎵撳嵃鍊肩殑鍝灝辨姤閿?br>                //ibm.c:162: `n_a' undeclared (first use in this function)
                
//鍚屾牱鐨勯棶棰樺氨鏄疨erlInterpreter鐨勫悕瀛楀繀欏誨彨my_perl,涓轟粈涔堝晩錛?br>    //璋冪敤鍑芥暟鍓嶇殑perl鍫嗘爤鎿嶄綔
    CALLFUN_BEGIN;    
    PUTBACK; 
//琛ㄧず鍙傛暟瀹屼簡
    
    
//璋冪敤鍑芥暟
    ireturn = perl_call_pv("return_array",G_ARRAY); //G_SCALAR---榪斿洖鏍囬噺;G_ARRAY--榪斿洖鏁扮粍
    
//寮濮嬫搷浣滆繑鍥炲間簡
    SPAGAIN;
    
if(ireturn>0)
    {
        
while(ireturn>0)
        {
            
//榪斿洖鐨勯『搴忔槸鏁扮粍鐨勫掑彊鍟婏紵
            printf("coming from ibm.pl.return_array:%d-%s\n",ireturn--,POPpx);
        }
    }
    
    PUTBACK; 
//琛ㄧず榪斿洖鍊煎彇瀹屼簡    
    
//perl鏍堣祫婧愬洖鏀?/span>
    CALLFUN_END;
    
return 0;
}


int main(int argc, char* argv[])
{
    
char* my_argv[] = {"","ibm.pl"};
    printf(
"begin c_perl_ibm_test\n");
    printf(
"init perl env\n");
    
    initperlenv(
2,my_argv);
    
    
//鏍囬噺鎿嶄綔嫻嬭瘯
    
//SV_test();
    
    
//鍑芥暟鎿嶄綔嫻嬭瘯
    
//call_fun();
    
    
//鎿嶄綔perl鍑芥暟榪斿洖鏁扮粍嫻嬭瘯
    call_fun_ret_array();    
    
    destroyperlenv();    
    printf(
"leaved c_perl_ibm_test\n");
    
return 0;
}

 



changup 2010-12-30 18:14 鍙戣〃璇勮
]]>
C銆丆++紼嬪簭娼滃叆瑙i噴鎬ц璦http://www.shnenglu.com/changup/archive/2010/12/24/137357.htmlchangupchangupFri, 24 Dec 2010 02:22:00 GMThttp://www.shnenglu.com/changup/archive/2010/12/24/137357.htmlhttp://www.shnenglu.com/changup/comments/137357.htmlhttp://www.shnenglu.com/changup/archive/2010/12/24/137357.html#Feedback5http://www.shnenglu.com/changup/comments/commentRss/137357.htmlhttp://www.shnenglu.com/changup/services/trackbacks/137357.html鍦ㄥ仛鐢典俊瀹藉甫璁よ瘉Radius緋葷粺鐨勬椂鍊欙紝閲囩敤浜嗗紑婧愮殑freeradius緋葷粺錛屽叾涓湁涓猵erl鐨勬ā鍧楅潪甯哥殑鏂逛究錛屽鍙樼殑涓氬姟閫昏緫浜ょ粰瑙i噴鎬х殑perl鍘繪墽琛岋紝榪欐牱鍦ㄥ悗鏈熺殑緇存姢銆佷笂綰垮氨杈圭殑闈炲父綆鍗曪紝涓嶇敤淇敼C紼嬪簭銆傝繎鏈熸墦綆楁憳涓涓婥鍜孭erl鐨勪氦浜掞紝鍒嗙鍑轟竴涓寘鍏敤銆?br>璇鋒暀澶у榪欐牱鐨勬渚嬭繕鏈夋病鏈夋洿綆鍗曠殑緇勫悎錛熸湡寰匔PP鍗氬鐨勯珮鎵嬩滑寮鍧涜緇?..
琛ュ厖涓涓嬶細寮婧愮殑鐜版垚妗嗘灦鏇村ソ錛?/p>

changup 2010-12-24 10:22 鍙戣〃璇勮
]]>
鐢熸垚闅忔満鏁扮殑涓孌典唬鐮?/title><link>http://www.shnenglu.com/changup/archive/2010/12/23/137259.html</link><dc:creator>changup</dc:creator><author>changup</author><pubDate>Thu, 23 Dec 2010 01:15:00 GMT</pubDate><guid>http://www.shnenglu.com/changup/archive/2010/12/23/137259.html</guid><wfw:comment>http://www.shnenglu.com/changup/comments/137259.html</wfw:comment><comments>http://www.shnenglu.com/changup/archive/2010/12/23/137259.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://www.shnenglu.com/changup/comments/commentRss/137259.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/changup/services/trackbacks/137259.html</trackback:ping><description><![CDATA[鐢熸垚闅忔満鏁扮殑涓孌典唬鐮併傚紩鏉ヤ竴鐗囧槝鍢橈紝鍒犳帀浜嗕竴鍙ワ紝鍛靛懙錛岄《涓嶄綇浜嗐傚彲鏄垜瑙夊緱澶熺敤灝辮浜嗕負鍘熷垯銆?br>鏀硅繘涓涓嬶紝鎻愰珮縐嶅瓙鐨勭簿搴︼紝瀹屼簡寮曞叆os鐨剅adom璁懼<br> <div style="BORDER-RIGHT: #cccccc 1px solid; PADDING-RIGHT: 5px; BORDER-TOP: #cccccc 1px solid; PADDING-LEFT: 4px; FONT-SIZE: 13px; PADDING-BOTTOM: 4px; BORDER-LEFT: #cccccc 1px solid; WIDTH: 98%; WORD-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: #cccccc 1px solid; BACKGROUND-COLOR: #eeeeee"><span style="COLOR: #000000">#include <stdlib.h><br>#include <stdio.h><br>#include <string.h><br>#include <sys/time.h><br></span><span style="COLOR: #000000"><br>void init_random()<br>{<br> unsigned int ticks;<br> struct timeval tv;<br> gettimeofday(&tv,NULL);<br> ticks = tv.tv_sec + tv.tv_usec;<br> srand(ticks);<br>}<br><br></span><span style="COLOR: #008000">//</span><span style="COLOR: #008000">ibuflen---闇瑕佺敓鎴愮殑闅忓嵆涓茬殑闀垮害</span><span style="COLOR: #008000"><br></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> genrandstr(</span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> pszbuf,</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> ibuflen)<br>{<br>    </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">const</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000"> sourchar[] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ</span><span style="COLOR: #000000">"</span><span style="COLOR: #000000">;<br>    init_random();<br>    </span><span style="COLOR: #0000ff">for</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i</span><span style="COLOR: #000000">=</span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;i</span><span style="COLOR: #000000"><</span><span style="COLOR: #000000">ibuflen;i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">)<br>    {<br>        </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> x </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> rand()</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">(RAND_MAX</span><span style="COLOR: #000000">/</span><span style="COLOR: #000000">(</span><span style="COLOR: #0000ff">sizeof</span><span style="COLOR: #000000">(sourchar)</span><span style="COLOR: #000000">-</span><span style="COLOR: #000000">1</span><span style="COLOR: #000000">));<br>        pszbuf[i] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> sourchar[x];<br>    }<br>    pszbuf[ibuflen] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">\0</span><span style="COLOR: #000000">'</span><span style="COLOR: #000000">;<br>}<br></span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> main(</span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> argc, </span><span style="COLOR: #0000ff">char</span><span style="COLOR: #000000">*</span><span style="COLOR: #000000"> argv[])<br>{<br> printf("begin randstr...,RAND_MAX=%d\n",RAND_MAX);<br> char buf[9] = {0};<br> genrandstr(buf,8);<br> printf("randstr=%s\n",buf); <br> genrandstr(buf,8);<br> printf("randstr=%s\n",buf);<br> genrandstr(buf,8);<br> printf("randstr=%s\n",buf);<br> genrandstr(buf,8);<br> printf("randstr=%s\n",buf);<br> genrandstr(buf,8);<br> printf("randstr=%s\n",buf);<br> genrandstr(buf,8);<br> printf("randstr=%s\n",buf);<br> printf("end randstr...\n");<br></span><span style="COLOR: #000000">    </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">;<br>}<br></span></div> <img src ="http://www.shnenglu.com/changup/aggbug/137259.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/changup/" target="_blank">changup</a> 2010-12-23 09:15 <a href="http://www.shnenglu.com/changup/archive/2010/12/23/137259.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>緇х畫涓婁竴鍧楃爾錛屽紩鏉ョ帀銆備竴涓懡浠よ鍙傛暟鐨勮В鏋愮被CArgNodeListhttp://www.shnenglu.com/changup/archive/2010/12/15/136498.htmlchangupchangupWed, 15 Dec 2010 07:10:00 GMThttp://www.shnenglu.com/changup/archive/2010/12/15/136498.htmlhttp://www.shnenglu.com/changup/comments/136498.htmlhttp://www.shnenglu.com/changup/archive/2010/12/15/136498.html#Feedback0http://www.shnenglu.com/changup/comments/commentRss/136498.htmlhttp://www.shnenglu.com/changup/services/trackbacks/136498.html闃呰鍏ㄦ枃

changup 2010-12-15 15:10 鍙戣〃璇勮
]]>
鍗曞疄渚嬫ā寮忕殑涓涓狢++璇誨彇閰嶇疆鏂囦歡鐨勭被CConfig2Maphttp://www.shnenglu.com/changup/archive/2010/12/14/136381.htmlchangupchangupTue, 14 Dec 2010 07:48:00 GMThttp://www.shnenglu.com/changup/archive/2010/12/14/136381.htmlhttp://www.shnenglu.com/changup/comments/136381.htmlhttp://www.shnenglu.com/changup/archive/2010/12/14/136381.html#Feedback5http://www.shnenglu.com/changup/comments/commentRss/136381.htmlhttp://www.shnenglu.com/changup/services/trackbacks/136381.html闃呰鍏ㄦ枃

changup 2010-12-14 15:48 鍙戣〃璇勮
]]>
涓涓猽dp server鐨勪豢緇勪歡鐨勫皝瑁咃紝鎶涚爾寮曠帀http://www.shnenglu.com/changup/archive/2010/12/14/136367.htmlchangupchangupTue, 14 Dec 2010 03:34:00 GMThttp://www.shnenglu.com/changup/archive/2010/12/14/136367.htmlhttp://www.shnenglu.com/changup/comments/136367.htmlhttp://www.shnenglu.com/changup/archive/2010/12/14/136367.html#Feedback1http://www.shnenglu.com/changup/comments/commentRss/136367.htmlhttp://www.shnenglu.com/changup/services/trackbacks/136367.html闃呰鍏ㄦ枃

changup 2010-12-14 11:34 鍙戣〃璇勮
]]>
伊人久久综合精品无码AV专区| 午夜不卡888久久| 亚洲精品乱码久久久久久中文字幕| 偷窥少妇久久久久久久久| 久久精品国产亚洲av麻豆小说 | 丁香色欲久久久久久综合网| 国内精品久久久久影院优| 精品久久国产一区二区三区香蕉| 国内精品久久久久久久久电影网| 久久99国产精一区二区三区| 久久亚洲中文字幕精品一区| 人人狠狠综合久久亚洲88| 精品国产青草久久久久福利| 狠狠精品干练久久久无码中文字幕| 久久婷婷色综合一区二区| 久久av免费天堂小草播放| 日韩AV无码久久一区二区| 亚洲国产成人久久一区久久| 91超碰碰碰碰久久久久久综合| 亚洲精品高清国产一线久久| 亚洲国产视频久久| 久久精品成人| 久久e热在这里只有国产中文精品99 | 亚洲伊人久久综合影院| 久久婷婷综合中文字幕| 久久久久人妻一区精品色| 久久中文字幕人妻熟av女| 午夜肉伦伦影院久久精品免费看国产一区二区三区| 亚洲色大成网站www久久九| 色天使久久综合网天天| 久久亚洲sm情趣捆绑调教| 亚洲国产成人乱码精品女人久久久不卡 | 久久精品国产2020| 99精品国产99久久久久久97| 热99RE久久精品这里都是精品免费 | 天堂无码久久综合东京热| 国产精品伊人久久伊人电影| 香港aa三级久久三级| 精品久久久久久久久久中文字幕| 老司机国内精品久久久久| 99久久国产热无码精品免费久久久久|