锘??xml version="1.0" encoding="utf-8" standalone="yes"?>婷婷久久综合,久久这里只精品99re66,欧美粉嫩小泬久久久久久久http://m.shnenglu.com/changup/zh-cnSat, 28 Jun 2025 08:10:57 GMTSat, 28 Jun 2025 08:10:57 GMT60c涓皟鐢╬erl鐨勬祴璇曞皬紼嬪簭錛屽悇縐嶅満鏅戶緇祴璇曚腑http://m.shnenglu.com/changup/archive/2010/12/30/137753.htmlchangupchangupThu, 30 Dec 2010 10:14:00 GMThttp://m.shnenglu.com/changup/archive/2010/12/30/137753.htmlhttp://m.shnenglu.com/changup/comments/137753.htmlhttp://m.shnenglu.com/changup/archive/2010/12/30/137753.html#Feedback0http://m.shnenglu.com/changup/comments/commentRss/137753.htmlhttp://m.shnenglu.com/changup/services/trackbacks/137753.htmltar鍖呬綅緗細http://m.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://m.shnenglu.com/changup/archive/2010/12/24/137357.htmlchangupchangupFri, 24 Dec 2010 02:22:00 GMThttp://m.shnenglu.com/changup/archive/2010/12/24/137357.htmlhttp://m.shnenglu.com/changup/comments/137357.htmlhttp://m.shnenglu.com/changup/archive/2010/12/24/137357.html#Feedback5http://m.shnenglu.com/changup/comments/commentRss/137357.htmlhttp://m.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://m.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://m.shnenglu.com/changup/archive/2010/12/23/137259.html</guid><wfw:comment>http://m.shnenglu.com/changup/comments/137259.html</wfw:comment><comments>http://m.shnenglu.com/changup/archive/2010/12/23/137259.html#Feedback</comments><slash:comments>8</slash:comments><wfw:commentRss>http://m.shnenglu.com/changup/comments/commentRss/137259.html</wfw:commentRss><trackback:ping>http://m.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://m.shnenglu.com/changup/aggbug/137259.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/changup/" target="_blank">changup</a> 2010-12-23 09:15 <a href="http://m.shnenglu.com/changup/archive/2010/12/23/137259.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>緇х畫涓婁竴鍧楃爾錛屽紩鏉ョ帀銆備竴涓懡浠よ鍙傛暟鐨勮В鏋愮被CArgNodeListhttp://m.shnenglu.com/changup/archive/2010/12/15/136498.htmlchangupchangupWed, 15 Dec 2010 07:10:00 GMThttp://m.shnenglu.com/changup/archive/2010/12/15/136498.htmlhttp://m.shnenglu.com/changup/comments/136498.htmlhttp://m.shnenglu.com/changup/archive/2010/12/15/136498.html#Feedback0http://m.shnenglu.com/changup/comments/commentRss/136498.htmlhttp://m.shnenglu.com/changup/services/trackbacks/136498.html闃呰鍏ㄦ枃

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

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

changup 2010-12-14 11:34 鍙戣〃璇勮
]]>
久久99国产精品尤物| 精品国产日韩久久亚洲| 99久久国产热无码精品免费| 精品无码久久久久久尤物| 好属妞这里只有精品久久| 91久久福利国产成人精品| 久久亚洲精品无码观看不卡| 久久无码AV中文出轨人妻| 久久国产精品无码一区二区三区 | 久久久久久久综合日本| 欧美精品乱码99久久蜜桃| 青青草国产成人久久91网| 少妇人妻综合久久中文字幕| 精品久久久久久国产| 久久天天躁狠狠躁夜夜2020一 | 久久99精品久久久久久久久久| 成人精品一区二区久久| 亚洲AV无一区二区三区久久| 国产精品久久久久久久午夜片 | 亚洲精品国产字幕久久不卡 | 97超级碰碰碰碰久久久久| 伊人色综合久久天天人守人婷| 热re99久久精品国99热| 无码任你躁久久久久久| 99久久精品国产一区二区蜜芽| 亚洲色欲久久久综合网| 欧美日韩精品久久久免费观看| 狠狠色丁香婷婷综合久久来来去| 少妇内射兰兰久久| 亚洲人成无码久久电影网站| 国产99久久久久久免费看| 久久精品国产91久久综合麻豆自制 | 综合久久一区二区三区| 日本加勒比久久精品| 久久国产视频网| 精品久久人人妻人人做精品| 精品国产福利久久久| 国产精品青草久久久久福利99| 91久久精品视频| 中文字幕久久欲求不满| 91精品婷婷国产综合久久|