¹ØÓÚpython µ÷ÓÃc++ ³öÏÖ´íÎóµÄÎÊÌâ
ÎÒÓÐÈý¸öCPPÎļþ
wrap.cpp
C/C++ code:
#include <Python.h>
#include "bridge.h"
extern "C"
{
PyObject* bridge(PyObject* self, PyObject* args)
{
int n = 0;
int result = 0;
if (! PyArg_ParseTuple(args, "answer", &n))
return NULL;
result = transport(4);
return Py_BuildValue("answer", result);
}
static PyMethodDef bridgeMethods[] =
{
{"transport", bridge, METH_VARARGS, "transport data"},
{NULL, NULL}
};
void initbridge()
{
PyObject* m;
m = Py_InitModule("bridge", bridgeMethods);
}
}
bridge.cpp
C/C++ code:
#include "bridge.h"
#include "faq.h"
extern "C"
{
int transport(int n)
{
FAQ *myFaq = new FAQ();
int c = myFaq->getBetterAnswer();
delete myFaq;
return c;
}
}
faq.cpp
C/C++ code:
#include "faq.h"
int FAQ::getBetterAnswer(void)
{
return 3;
}
void FAQ::printAnswer()
{
}
FAQ::FAQ()
{
}
FAQ::~FAQ()
{
}
ʹÓà g
Ïà¹ØÎÊ´ð£º
дÁ˸ö²âÊÔ³ÌÐòÈçÏÂ
struct hostent *hp;
char AlarmDevIP[20];
int x2;
hp = gethostbyname("www.google.com");
if (hp)
{
......
ÒÑÖªPython ÖУº
s = unicode("²âÊÔ", "gb2312")
s = u'\u6d4b\u8bd5'
print s
²âÊÔ
ÔÚDelphiÀïÃæÈçºÎ½«\u6d4b\u8bd5ÕâÑùµÄ»¹Ô³ÉGb2312µÄºº×ÖÄØ£¿
ÕÒµ½¸ö·½·¨
......
linux ÏÂC±à³Ì ¼¯³É¿ª·¢»·¾³ ÓÃʲô±È½ÏºÃ
ÎÒ³õ²½Ñ¡¶¨ codeblock
ºÇºÇ »¹ÓÐ ÔÚlinux дÁËÒ»¸ö´òÓ¡ÖÐÎĵĴúÂ룬¶ø½ñÌìÔÚwindows ϲ鿴ÄǸö´úÂë £¬ ÊÇÂÒÂë ¶øºóÏëµ½ÏÈÓà EditPlusÏȽøÐб༠Ȼºó¸´ÖÆ ......
±¾ÈËѧϰcÒÑÓÐÈýÄêʱ¼ä ÎÒ¸Õ½¨ÁËÒ»¸öȺ ÓжÔc¸ÐÐËȤµÄ¿ÉÒÔ¼ÓÈë »¶Ó´ó¼ÒȺºÅÊÇ£º91975736
½Ó·Ö
Â¥Ö÷Ҫѧ»á½áÌù£¬½Ó·Ö
ÄãÃDz»ÊÇ»¹Ã»ÓмÓÈëÂð ÎÒ¸ÉÂï½áÌùÄØ ºÇºÇ
QQÊÇʲô£¿Ò»ÖÖʳÎïÂð£¿
ÎÒÏë¼Ó
¼ÓÍêÁ ......