¹ØÓÚ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
Ïà¹ØÎÊ´ð£º
ÎÊÌâ:¹¤µØÉÏÐèÒª³¤¶ÈΪA1µÄ¸Ö½îX¸ù,³¤¶ÈΪA2µÄ¸Ö½îY¸ù,³¤¶ÈΪA3µÄ¸Ö½îZ¸ù......ÒÔ´ÎÀàÍÆ.
ÆäÖÐA1,A2,A3,...³¤¶ÈÈÎÒâÖ¸¶¨,X,Y,Z,...ÊýÁ¿Ò²ÈÎÒâÖ¸¶¨.
µ«²Ö¿âÖеĸֽîΪ±ê×¼³¤¶È,Ö»ÓÐ9Ã׺Í15Ã×Á½ÖÖ³¤¶È,ÊýÁ¿² ......
ÎÊÌâÒ»£º
ÔÚ¶ÔÆëΪ4µÄÇé¿öÏÂ
struct BBB
{
long num£»
char *name;
short int data;
char ha;
short ba[5];
}*p;
p=0x1000000;
p+0x200=____;
(Ulong)p+0x200=____;
(char*)p+0x200=____;
¼ÙÉèÔÚ32λC ......
ÒÔǰѧ¹ýÌ·ºÆÇ¿µÄÊ飬ÈÏÕæ¿´¹ý¼¸±é£¬ÊéÉϵÄÌâ´ó²¿·Ö×Ô¼º±à¹ý£¬ÏÖÔÚÏë½øÒ»²½Ñ§Ï°C£¬Ó¦¸Ã´ÓÄÄ·½Ãæ×ÅÊÖÄØ£¿ÎÒ×¼±¸¿´CÓëÖ¸Õ룬´ó¼Ò¾õµÃÕâ±¾ÊéÔõôÑù£¿»¹ÊÇ¿´ÆäËüµÄÊ飿
ÄãÓ¦¸ÃÖØÐÂÕÒ¡¶c primer plus¡·Õâ±¾Êé¿´¿´¡£
c ......
±¾ÈËѧϰcÒÑÓÐÈýÄêʱ¼ä ÎÒ¸Õ½¨ÁËÒ»¸öȺ ÓжÔc¸ÐÐËȤµÄ¿ÉÒÔ¼ÓÈë »¶Ó´ó¼ÒȺºÅÊÇ£º91975736
½Ó·Ö
Â¥Ö÷Ҫѧ»á½áÌù£¬½Ó·Ö
ÄãÃDz»ÊÇ»¹Ã»ÓмÓÈëÂð ÎÒ¸ÉÂï½áÌùÄØ ºÇºÇ
QQÊÇʲô£¿Ò»ÖÖʳÎïÂð£¿
ÎÒÏë¼Ó
¼ÓÍêÁ ......
¸÷λ´óÏÀ£º
ÓÐûÓÐÖªµÀÈçºÎÔÚCÓïÑÔÖÐʹÓóÖÐø¼¯³É¡£´Ó³õ²½µÄµ÷²éÀ´¿´£¬Ã²ËÆÊ¹ÓÃCruiseControlµÄÈ˺ܶ࣬µ«ÊǸÿªÔ´¹¤¾ß¶ÔCÓïÑÔµÄÖ§³ÖÃ²ËÆºÜÓÐÏÞ£¬±àÒëºÍ²âÊÔ½á¹û¿ÉÄÜÐèÒª×Ô¼º´¦Àí£¬Éú³ÉCruiseControlÄܹ»´¦ÀíµÄXMLÎ ......