锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲理论在线观看,久久久亚洲一区,国内一区二区在线视频观看http://m.shnenglu.com/zhaoyg/category/17036.html璁板綍鐐規淮錛屾垚灝辨湭鏉?/description>zh-cnThu, 02 Jun 2011 03:30:03 GMTThu, 02 Jun 2011 03:30:03 GMT60C++涓皟鐢╬ython鍑芥暟http://m.shnenglu.com/zhaoyg/archive/2011/06/02/147938.htmlzhaoygzhaoygThu, 02 Jun 2011 03:22:00 GMThttp://m.shnenglu.com/zhaoyg/archive/2011/06/02/147938.htmlhttp://m.shnenglu.com/zhaoyg/comments/147938.htmlhttp://m.shnenglu.com/zhaoyg/archive/2011/06/02/147938.html#Feedback0http://m.shnenglu.com/zhaoyg/comments/commentRss/147938.htmlhttp://m.shnenglu.com/zhaoyg/services/trackbacks/147938.html浠ヤ笅鏄氳繃boost::python瀹炵幇鐨勶紝python鐗堟湰2.7
int main()
{
    Py_Initialize();

    PyObject 
* pModule = NULL;//澹版槑鍙橀噺
    PyObject * pFunc = NULL;// 澹版槑鍙橀噺
    pModule =PyImport_ImportModule("helloworld");//榪欓噷鏄璋冪敤鐨勬枃浠跺悕

    
if (!pModule)
        cout 
<< "err";

    handle
<>* _module; // Module handle.

    _module 
= new handle<>(pModule);

    
// 閫氳繃call_method
    int i = call_method<int>(_module->get() , "Hello" , 4);  

    
// 閫氳繃attr
    main_module.attr("Hello")(2);

    
// main_module.attr("Hello")(2); 灞曞紑濡備笅
    object main_module(*_module);
    
object FunObj = main_module.attr("Hello");  // 鑾峰彇hello鍑芥暟瀵硅薄

    
// 閫氳繃object鐖剁被鐨刼perator()鎿嶄綔絎?/span>
    FunObj(1); 

    
// 閫氳繃call
    i = call<int>(FunObj.ptr(), 3);


    { 
// 閬嶅巻涓閬峱ython鍐呯疆綾誨瀷list瀵硅薄涓殑鍊?/span>
        list  List = call_method<list>(_module->get() , "getList");

        
int n = len(List);

        
for (int i = 0 ; i < n ; i++)
        {
            int val = extract<int> (List[i]);  // 鑾峰彇List[i]浜х敓鐨刼bject瀵硅薄涓殑鍊?/span>錛岄氳繃extract妯℃澘鏉ヨ漿鎹?br />            cout << val << " ";
        }
    }


    
return 0;
}





zhaoyg 2011-06-02 11:22 鍙戣〃璇勮
]]>
閫氳繃Boost::Python瀹炵幇C++瀵硅薄瀵煎叆python鐜http://m.shnenglu.com/zhaoyg/archive/2011/06/01/147885.htmlzhaoygzhaoygWed, 01 Jun 2011 09:34:00 GMThttp://m.shnenglu.com/zhaoyg/archive/2011/06/01/147885.htmlhttp://m.shnenglu.com/zhaoyg/comments/147885.htmlhttp://m.shnenglu.com/zhaoyg/archive/2011/06/01/147885.html#Feedback0http://m.shnenglu.com/zhaoyg/comments/commentRss/147885.htmlhttp://m.shnenglu.com/zhaoyg/services/trackbacks/147885.html
浠ヤ笅鍙槸瀵硅嚜宸辨懜绱㈢粨鏋滅殑鎬葷粨錛屽叾涓毦鍏嶅瓨鍦ㄩ敊璇紝濡傛湁浠諱綍閿欒錛屾湜涓嶆儨鎸囨

綾誨畾涔夛細
class Demo
{
private:
    
int m_val;
    
string m_nam;

public:
    
void setVal(int val)
    {
        m_val 
= val;
    }

    
int getVal()
    {
        
return m_val;
    }

    
void setName(const char *name)
    {
        m_nam 
= name;
    }

    
const char* getName()
    {
        
return m_nam.c_str();
    }
    
void show()
    {
        std::cout 
<<"hello world" <<std::endl;
    }

};

鏂規硶涓錛?/strong>
void fun1()
{
    Py_Initialize();

    PyObject 
*pModule = PyImport_ImportModule("helloworld");

    handle
<>_module(pModule);

    
object main_module(_module);

    
// 瀵煎嚭C++綾誨埌python涓?/span>
    main_module.attr("Demo")  = class_ <Demo>("Demo") // 閫氳繃boost::python涓殑class_灝咰++綾誨寘瑁呮垚object綾誨瀷錛屽洜涓簆ython涓墍鏈夌被鍨嬮兘鏄痮bject
        .def(
"setVal"&Demo::setVal)
        .def(
"setName"&Demo::setName)
        ;


    
// 閫氳繃boost::python鎻愪緵鐨勬ā鏉垮嚱鏁皃tr錛屾潵灝咲emo瀵硅薄浼犲叆python
    Demo a;
    main_module.attr(
"test"= object(ptr(&a));

    std::cout 
<<"涔嬪墠:"<< a.getName() << " " << a.getVal()<<endl;

    call_method
<void>(pModule , "fun2");

    std::cout 
<<"涔嬪悗:"<< a.getName() << " " << a.getVal()<<endl;

    // 閫氳繃python鍑芥暟榪斿洖C++瀵硅薄
    Demo tmp = call_method<Demo>(pModule , "ReturnCppClass");
    std::cout << tmp.getName() << " " << tmp.getVal() <<endl;
}

helloworld.py鑴氭湰鍐呭錛?br />
def fun2():
    tmp 
= test;
    tmp.setVal(
12345);
    tmp.setName(
"2011-5-19");

def ReturnCppClass():
    tmp = Demo();
    tmp.setName('123456789')
    tmp.setVal(99);
    return tmp;

1.璇彞main_module.attr("test"= object(ptr(&a)); 涓殑"test"鏄痑瀵硅薄鍦ㄨ剼鏈腑鐨勫埆鍚嶏紝浜庢槸鑴氭湰涓彲浠ョ洿鎺ラ氳繃test鍚嶅瓧鎿嶄綔C++瀵硅薄銆?br />2.Demo tmp = call_method<Demo>(pModule , "ReturnCppClass");鏉ュ疄鐜板湪python涓垱寤篊++瀵硅薄錛屽茍涓旇繑鍥炲埌C++涓?br />
鏂規硶浜岋細
閫氳繃鏅鴻兘鎸囬拡瀹炵幇C++瀵硅薄鐨勫鍏?strong>
typedef boost::shared_ptr < Demo > Demo_ptr;
void fun2()
{
    Py_Initialize();

    Demo_ptr spD1(
new Demo);

    spD1
->setName("NULL");
    spD1
->setVal(0);

    
try
    {
        PyObject 
*pModule = PyImport_ImportModule("helloworld");

        register_ptr_to_python 
<Demo_ptr>();  // 娉ㄥ唽鍙兘鎸囬拡

        handle
<>* _module;

        _module 
= new handle<>(pModule);
        
object main_module(*_module);

        
object dictionary = main_module.attr("__dict__");
        dictionary[
"Demo"= class_ <Demo>("Demo")
            .def(
"setVal"&Demo::setVal)
            .def(
"setName"&Demo::setName)
            ;

        main_module.attr(
"DemoObj"= spD1; // 娣誨姞鏅鴻兘鎸囬拡鍒拌剼鏈紝騫墮噸鍛藉悕

        call_method
<void>(pModule , "SetObj"); // 鍦ㄨ剼鏈腑閫氳繃鎿嶇旱鏅鴻兘鎸囬拡鏉ユ帶鍒跺璞?/span>

        std::cout 
<< a.getName() << " " << a.getVal()<<endl;
    }
    
catch (error_already_set) 
    {
        PyErr_Print();
    }

    std::cout 
<< "spD1->getName(): " << spD1->getName() <<std::endl;
    std::cout 
<< "spD1->getVal(): " << spD1->getVal() <<std::endl;
}

鑴氭湰鍐呭錛?br />
def SetObj():
    DemoObj.setVal(
100);
    DemoObj.setName(
'hello');

1.register_ptr_to_python <Demo_ptr>(); 娌℃湁榪欏彞榪愯鏃朵細寰楀埌閿欒銆傚叧浜巖egister_ptr_to_python錛宐oost涓殑瑙i噴鏄細
“a function template which registers a conversion for smart pointers to Python”

2.
dictionary["Demo"= class_ <Demo>("Demo")
            .def(
"setVal"&Demo::setVal)
            .def(
"setName"&Demo::setName)
            ;
涓庢柟娉曚竴涓殑錛?br />
main_module.attr("Demo")  = class_ <Demo>("Demo")
        .def(
"setVal"&Demo::setVal)
        .def(
"setName"&Demo::setName)
        ;

鏁堟灉涓鏍楓?br />
-----------------------------------------------------------------------------------
浠ヤ笂灝辨槸鍏充簬濡備綍灝咰++瀵硅薄浼犲叆python鐨勪竴鐐逛範寰楋紝濡傛湁浠諱綍閿欒錛屾湜涓嶆儨鎸囨
-----------------------------------------------------------------------------------

P.S.: cppblog鎻愪緵鐨勭紪杈戝櫒涓嶅ソ鐢?img src ="http://m.shnenglu.com/zhaoyg/aggbug/147885.html" width = "1" height = "1" />

zhaoyg 2011-06-01 17:34 鍙戣〃璇勮
]]>
鍏充簬C++宓屽叆python鑴氭湰鍚庣殑紼嬪簭鍙戝竷闂http://m.shnenglu.com/zhaoyg/archive/2011/04/25/142659.htmlzhaoygzhaoygMon, 25 Apr 2011 01:57:00 GMThttp://m.shnenglu.com/zhaoyg/archive/2011/04/25/142659.htmlhttp://m.shnenglu.com/zhaoyg/comments/142659.htmlhttp://m.shnenglu.com/zhaoyg/archive/2011/04/25/142659.html#Feedback0http://m.shnenglu.com/zhaoyg/comments/commentRss/142659.htmlhttp://m.shnenglu.com/zhaoyg/services/trackbacks/142659.html
浜庢槸閫氳繃鍏抽敭瀛?#8220;C++宓屽叆python 鍙戝竷”錛屾壘鍒頒簡涓涓敤py2exe鏉ヨВ鍐抽棶棰橈紝浣嗘垜璇曚簡鍗婂ぉ閮芥病鎴愬姛錛堜篃璁告槸鎴戣嚜宸辨病寮勫鐨勫師鍥狅紝鍥犱負浜哄閮芥垚鍔熶簡錛夈?br />鍐嶅悗鏉ユ垜鎶婂叧閿瓧鏀逛負浜?#8220;python C++ distribute embed”錛堝嵆鑻辨枃鍏抽敭瀛楋級錛岃繖涓嬫嫧浜戣澶╀簡錛屽洜涓哄湪Google鐨勭涓欏靛氨鏈変竴涓鍥藉笘瀛愬叾鏍囬姝e拰鎴戞剰錛堟灉鐒惰嫳璇粰鍔涳級銆?br />
鐪嬩簡閭d釜璐村瓙鍙戠幇錛屼箣鎵浠ヤ笉鑳藉湪娌℃湁瀹夎python鐨勬満瀛愪笂榪愯鏄洜涓猴細


In addition to pythonxy.dll, you also need the entire Python library, i.e. the contents of the lib folder, plus the extension modules, i.e. the contents of the DLLs folder. Without the standard library, Python won't even start, since it tries to find os.py (in 3.x; string.py in 2.x). On startup, it imports a number of modules, in particular site.py.


鍘熸枃錛?a >http://stackoverflow.com/questions/1387906/c-with-python-embedding-crash-if-python-not-installed


zhaoyg 2011-04-25 09:57 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲手机成人高清视频| 欧美韩日一区二区| 免费成人网www| 欧美在线看片| 午夜欧美不卡精品aaaaa| 亚洲一区二区免费看| 亚洲视频中文| 久久精品二区| 免费成人高清在线视频| 亚洲电影av在线| 欧美激情精品久久久久久大尺度| 欧美sm视频| 99国产精品久久久久久久久久| 亚洲欧洲日韩综合二区| 国产精品99久久久久久宅男| 亚洲免费视频中文字幕| 久久www成人_看片免费不卡| 久久综合久久综合久久综合| 欧美日韩情趣电影| 国外成人在线视频| 一二三四社区欧美黄| 欧美一区二区三区在线观看| 蜜桃av一区| 亚洲嫩草精品久久| 免费成人高清在线视频| 国产精品日韩一区二区| 亚洲黄色av| 欧美一级在线亚洲天堂| 亚洲国产片色| 久久精品一二三| 国产精品久久中文| 亚洲精品久久久一区二区三区| 亚洲欧美区自拍先锋| 欧美成人精品在线| 欧美一区二区三区婷婷月色| 欧美精品一区二| 狠狠色狠色综合曰曰| 午夜精品在线视频| 亚洲精选视频免费看| 欧美成人高清视频| 一区二区三区在线观看国产| 午夜精品久久久久| 一区二区欧美在线| 欧美激情精品久久久久久大尺度| 国产欧美日本一区二区三区| 亚洲天堂男人| 亚洲精品一区二区三区不| 久久婷婷麻豆| 激情久久久久久| 欧美午夜片在线观看| 黑人一区二区| 久久久久久久久久久久久久一区 | 亚洲第一在线综合在线| 久久精品国产99国产精品| 国产精品欧美久久| 亚洲素人在线| 夜夜精品视频| 国产精品www色诱视频| 亚洲午夜一区二区| 亚洲色图制服丝袜| 国产精品一区在线观看| 欧美亚洲自偷自偷| 午夜日韩在线| 激情综合色综合久久| 老牛国产精品一区的观看方式| 欧美一区二区| 在线精品视频在线观看高清| 欧美aⅴ一区二区三区视频| 久久综合色播五月| 亚洲精品一区二区三区在线观看| 亚洲国产精品一区二区第一页| 欧美激情精品久久久六区热门 | 亚洲欧美日韩国产一区| 国产精品99久久久久久人| 国产伦精品一区二区三区视频孕妇| 亚洲欧美国产不卡| 欧美一区二区三区在线播放| 欧美在线三区| 91久久久在线| 日韩视频三区| 国产三级精品在线不卡| 久久综合久久综合久久| 欧美成人r级一区二区三区| 国产精品99久久久久久久久久久久| 日韩视频免费观看高清完整版| 国产精品久久亚洲7777| 美女网站在线免费欧美精品| 欧美成人免费一级人片100| 中日韩在线视频| 欧美亚洲日本一区| 日韩视频永久免费| 亚洲午夜精品网| 亚洲电影自拍| 一区二区高清| 樱桃成人精品视频在线播放| 最新国产拍偷乱拍精品| 国产日韩av一区二区| 亚洲高清精品中出| 国产免费成人在线视频| 亚洲激情成人网| 国产日韩欧美亚洲一区| 亚洲第一精品福利| 国产欧美精品日韩区二区麻豆天美 | 中文欧美在线视频| 欧美一级理论片| 欧美国产免费| 欧美一区在线直播| 免费在线观看日韩欧美| 午夜久久福利| 欧美日韩精品综合| 狼狼综合久久久久综合网| 欧美午夜a级限制福利片| 美女久久网站| 国产色产综合产在线视频| 亚洲理论在线| 亚洲精品护士| 久久亚洲图片| 久久爱www.| 国产精品xnxxcom| 亚洲国产天堂久久综合网| 国产揄拍国内精品对白| 亚洲主播在线| 欧美一级视频精品观看| 欧美日本高清| 亚洲精品少妇| 在线视频你懂得一区二区三区| 欧美18av| 欧美风情在线观看| 伊人久久大香线蕉综合热线 | 国内精品久久久久久影视8| 99视频一区二区三区| 一区二区欧美日韩| 欧美精品久久一区二区| 欧美高清不卡| 亚洲激情婷婷| 欧美黄色精品| 欧美国产激情| 亚洲肉体裸体xxxx137| 免费观看欧美在线视频的网站| 久久精品人人| 一区二区三区在线免费播放| 久久久精品欧美丰满| 嫩模写真一区二区三区三州| 亚洲高清在线精品| 可以看av的网站久久看| 免费一级欧美在线大片| 最新日韩在线视频| 欧美福利视频一区| 亚洲精品久久久久久一区二区| 99re66热这里只有精品4| 欧美国产日韩一二三区| 日韩天堂av| 小处雏高清一区二区三区| 国产精品剧情在线亚洲| 午夜视频一区在线观看| 久久婷婷一区| 亚洲七七久久综合桃花剧情介绍| 麻豆国产精品777777在线| 亚洲国产精品免费| 午夜激情久久久| 亚洲福利一区| 欧美性天天影院| 久久精品电影| 亚洲乱码久久| 久久精品99国产精品日本| 亚洲丶国产丶欧美一区二区三区 | 欧美日本在线看| 亚洲视频一区在线| 久久久久久久性| 日韩一区二区精品在线观看| 亚洲欧美日韩区| 麻豆9191精品国产| 亚洲麻豆一区| 国产欧美精品一区二区色综合| 卡通动漫国产精品| 亚洲天堂男人| 欧美ed2k| 亚欧成人在线| 亚洲精品国产精品国自产在线| 欧美色123| 久久在线视频| 欧美一区二区三区的| 亚洲欧洲日本国产| 久久三级福利| 亚洲欧美欧美一区二区三区| 91久久精品一区| 国产日韩欧美一区二区三区四区| 噜噜噜久久亚洲精品国产品小说| 一区二区三区 在线观看视| 免费成人网www| 午夜日韩av| 一区二区三区回区在观看免费视频| 国产区精品视频| 欧美日韩一二三区| 久久这里只有精品视频首页| 亚洲一区国产精品| 99ri日韩精品视频| 亚洲精品欧美极品| 亚洲国产精品悠悠久久琪琪| 久久综合精品国产一区二区三区|