国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python調用c++ ctype list傳數組或者返回數組的方法

2020-02-16 01:07:20
字體:
來源:轉載
供稿:網友

示例1:

pycallclass.cpp:

#include <iostream>using namespace std;typedef unsigned char BYTE;#define MAX_COUNT 20 struct tagOutCardResult_py{	BYTE							cbCardCount;						BYTE							cbResultCard1;	BYTE							cbResultCard2;	BYTE							cbResultCard3;	BYTE							cbResultCard4;	BYTE							cbResultCard5;	BYTE							cbResultCard6;	BYTE							cbResultCard7;	BYTE							cbResultCard8;	BYTE							cbResultCard9;	BYTE							cbResultCard10;	BYTE							cbResultCard11;	BYTE							cbResultCard12;	BYTE							cbResultCard13;	BYTE							cbResultCard14;	BYTE							cbResultCard15;	BYTE							cbResultCard16;	BYTE							cbResultCard17;	BYTE							cbResultCard18;	BYTE							cbResultCard19;	BYTE							cbResultCard20;}; struct tagOutCardResult{	BYTE							cbCardCount;						BYTE							cbResultCard[MAX_COUNT];			void clear()	{		cbCardCount = 0;		for (int nIdx = 0;nIdx < MAX_COUNT;++nIdx)		{			cbResultCard[nIdx] = 0;		}	}		void topy(tagOutCardResult_py* ppy)	{		cout<<"topy function begin"<<endl;		ppy->cbCardCount = cbCardCount;		cout<<"topy function 1"<<endl;		ppy->cbResultCard1 = cbResultCard[1 - 1];		cout<<"topy function 2"<<endl;		ppy->cbResultCard2 = cbResultCard[2 - 1];		ppy->cbResultCard3 = cbResultCard[3 - 1];		ppy->cbResultCard4 = cbResultCard[4 - 1];		ppy->cbResultCard5 = cbResultCard[5 - 1];		ppy->cbResultCard6 = cbResultCard[6 - 1];		ppy->cbResultCard7 = cbResultCard[7 - 1];		ppy->cbResultCard8 = cbResultCard[8 - 1];		ppy->cbResultCard9 = cbResultCard[9 - 1];		ppy->cbResultCard10 = cbResultCard[10 - 1];		ppy->cbResultCard11 = cbResultCard[11 - 1];		ppy->cbResultCard12 = cbResultCard[12 - 1];		ppy->cbResultCard13 = cbResultCard[13 - 1];		ppy->cbResultCard14 = cbResultCard[14 - 1];		ppy->cbResultCard15 = cbResultCard[15 - 1];		ppy->cbResultCard16 = cbResultCard[16 - 1];		ppy->cbResultCard17 = cbResultCard[17 - 1];		ppy->cbResultCard18 = cbResultCard[18 - 1];		ppy->cbResultCard19 = cbResultCard[19 - 1];		ppy->cbResultCard20 = cbResultCard[20 - 1];		cout<<"topy function end"<<endl;	}}; class TestLib{	public:		void display(tagOutCardResult& ret);};void TestLib::display(tagOutCardResult& ret) {	ret.cbCardCount = 3;	ret.cbResultCard[0] = 1;	ret.cbResultCard[1] = 50;	ret.cbResultCard[2] = 100; 	cout<<"First display aaa ";	cout<<"hello ";	cout<<"world ";} extern "C" {	TestLib oGameLogic;	void display(tagOutCardResult_py* ret_py) {		tagOutCardResult oRet;		oGameLogic.display(oRet);		cout<<"before topy"<<endl;		oRet.topy(ret_py);		cout<<"after topy"<<endl;		cout<<"in cpp:ret_py->cbCardCount:"<<ret_py->cbCardCount<<endl;		cout<<"in cpp:ret_py->cbResultCard1:"<<ret_py->cbResultCard1<<endl;		cout<<" this:" << ret_py << endl;	}} 

編譯腳本:

g++ -o libpycallclass.so -shared -fPIC pycallclass.cpp -I/usr/include/python2.6 -L/usr/lib64/python2.6/config

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 德江县| 资阳市| 谷城县| 南京市| 林芝县| 福泉市| 全南县| 米林县| 城固县| 宜州市| 仙游县| 新沂市| 安庆市| 汉寿县| 通渭县| 朝阳区| 新建县| 马龙县| 宜州市| 汾西县| 循化| 察哈| 什邡市| 蒙城县| 冀州市| 明光市| 嘉峪关市| 铜梁县| 临漳县| 松江区| 竹溪县| 拉孜县| 乌兰县| 通江县| 遂昌县| 沽源县| 景德镇市| 汤原县| 龙州县| 田东县| 宽甸|