Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Python±Ê¼Ç£¨¶þ£©——pythonµ÷ÓÃC/C++Ä£¿é

ǰһƪ½²Á˼òµ¥µÄC/C++µ÷ÓÃPython½Å±¾Ä£¿é£¨.py£©¡£¼ÈÈ»ÊÇÓÃÓÚÖî¶àÓÎÏ·³ÌÐòµÄ½Å±¾ÓïÑÔ£¬Äǿ϶¨ÊÇȱ²»ÁË»¥µ÷£¨ÀñÉÐÍùÀ´£©¡£Òò´Ë£¬±¾Æª½²Ò»¸ö¼òµ¥µÄpythonµ÷ÓÃC/C++дµÄDLLÄ£¿é£¬¶ÔPython½øÐй¦ÄÜÀ©Õ¹¡£ÕâÀïдһ¸ö¼òµ¥µÄÀý×Ó£¬Ö÷Òª¾ÍΪÁËÁ˽âÏÂÕâôÓÃPythonÀ´µ÷ÓÃC/C++дµÄDLL¿â¡£ºÃÁË£¬ÇÐÈëÕýÌ⣺
 Ê×ÏÈ£¬ÎÒÊÇÓÃVS2003½¨µÄÒ»¸öDLL¹¤³Ì£¬½«DLL¹¤³ÌÊôÐÔÀïÃæµÄÊä³öÎļþµÄ(.dll)¸ÄΪ(.pyd)¡£µ±È»Ò²¿ÉÒÔ½«Éú³ÉºóµÄDLLÀ©Õ¹Ãû¸ÄΪ.pyd¡£ºÇºÇ£¡ÃâµÃ´ó¼ÒÒÔΪËüºÜÉñÃØ£¨VC»¹ÄÜÉú³É.pyd¿â£¿ÕâÖÖÒÉÎÊ£¡£©ºÃ£¬Ö±½ÓÌù´úÂë:
#include <Python.h>
int cmd( const char *arg )
{
     int n = system( arg );
     return n;
}
static PyObject * wrap_cmd_fun( PyObject *self, PyObject *args )
{
     const char * command;
     if ( !PyArg_ParseTuple( args, "s", &command ) )
          return NULL;
     int n = cmd( command );
     return Py_BuildValue( "i", n );
}
static PyMethodDef MyCppMethods[] =
{
     { "MyCppFunc", wrap_cmd_fun, METH_VARARGS, "Execute a shell command." },
     { NULL, NULL, 0, NULL }
};
PyMODINIT_FUNC initMyFirstPythonModule( void )
{
     PyObject *m = Py_InitModule( "MyFirstPythonModule", MyCppMethods );
     if (m == NULL)
         return;
}
Õâ¸öʵÀýºÜ¼òµ¥£¬Ê×ÏÈÊÇPy_InitModuleÓÃÓÚ³õʼ»¯ÔÚPython½Å±¾ÖÐÒªimportµÄÄ£¿é£¬ÕâÀïµÄÄ£¿éÃûÊÇ£ºMyFirstPythonModule¡£ÎÒÃÇÔÚPythonÖн«Ê¹ÓÃimport MyFirstPythonModule À´ÔØÈëÕâ¸öÄ£¿é¡£ÕâÀïÎÒÃǽ«MyCppMethods×÷Ϊģ¿éÒªµ÷Óõķ½·¨£¬ËüÊÇÒ»¸öPyMethodDef½á¹¹¡£ÎÒÃÇ¿ÉÒÔ¿´µ½Õâ¸ö½á¹¹µÄÊý×鶨Ò壬{ "MyCppFunc", wrap_cmd_fun, METH_VARARGS, "Execute a shell command." }, ºìÉ«µÄ¾ÍÊÇÎÒÃÇÔڽű¾ÀïÃæÒªµ÷Óõĺ¯ÊýÃû×Ö£¬Ëü±»Ó³ÉäΪwrap_cmd_fun£¬µ±ÔÚPython½Å±¾Öе÷ÓÃMyCppFuncʱ½«»áµ÷ÓÃwrap_cmd_funº¯Êý¡£µÚÈý¸öMETH_VARARGS³ÉÔ±±íʾµ÷Ó÷½Ê½£¬¿ÉÒÔÓûòÔËËãÁ¬½Ó¼¸¸öµ÷Ó÷½Ê½¡£µÚËĸö³ÉÔ±ÊÇÒ»¸ö·½·¨


Ïà¹ØÎĵµ£º

C/C++³ÌÐòÔ±ÃæÊÔÌâ

PS:
      ½ñÌìÈ¥¸£ê¿²Î¼ÓËûÃǹ«Ë¾µÄ±ÊÊÔÁË£¬¿¼µÄ²»ÊǺÜˬ¡£¡£¡£¡£¡£Ò»Ð©ºÜ¼òµ¥µÄ¸ÅÄîÌ⣬²»ÖªµÀÔõô×÷´ð£¬¿´À´Òª¶à¶à¹®¹ÌÏÂÀíÂÛ֪ʶÀ²£¡£¡£¡£¡£¡£¡
ÒÔÏÂת:
ÎÒ´Óʼ¼Êõ¹¤×÷£¬
Õ⼸ÄêµÄÃæÊÔÓë±»ÃæÊÔ×ܽá
ÏÈ˵ÎÒÈ¥±»ÃæÊԵľ­Ñé°É¡£
»Ø´ðÇå³þÁË2¸öÎÊÌ⣬¾ÍÄÜ˳Àû¹ý¹ØÁË¡£
1¡£ÎªÊ²Ã´ÒªÀ뿪ÉÏÒ ......

[zz] C/C++³ÌÐòԱӦƸ³£¼ûÃæÊÔÌâÉîÈëÆÊÎö £¨Ò»£©

 1.ÒýÑÔ ¡¡¡¡
      ±¾ÎĵÄд×÷Ä¿µÄ²¢²»ÔÚÓÚÌṩC/C++³ÌÐòÔ±ÇóÖ°ÃæÊÔÖ¸µ¼£¬¶øÖ¼ÔÚ´Ó¼¼ÊõÉÏ·ÖÎöÃæÊÔÌâµÄÄÚº­¡£ÎÄÖеĴó¶àÊýÃæÊÔÌâÀ´×Ô¸÷´óÂÛ̳£¬²¿·ÖÊÔÌâ½â´ðÒ²²Î¿¼ÁËÍøÓѵÄÒâ¼û¡£
      Ðí¶àÃæÊÔÌâ¿´ËƼòµ¥£¬È´ÐèÒªÉîºñµÄ»ù±¾¹¦²ÅÄܸø³öÍêÃÀµÄ½â´ð¡£ÆóÒµÒªÇóÃæÊÔ ......

python´¦ÀízipÎļþ£¨×ª£© 2009

 ×ª×Ô http://hi.baidu.com/xunxun129/blog/item/3befad0f8ff992c07bcbe180.html
ÓÐʱÎÒÃÇÐèÒªÔÚ Python
ÖÐʹÓà zip Îļþ£¬¶øÔÚ1.6°æÖУ¬Python ¾ÍÒѾ­ÌṩÁË zipfile Ä£¿é¿ÉÒÔ½øÐÐÕâÑùµÄ²Ù×÷¡£²»¹ý Python ÖеÄ
zipfile Ä£¿é²»ÄÜ´¦Àí¶à¾íµÄÇé¿ö£¬²»¹ýÕâÖÖÇé¿ö²¢²»¶à¼û£¬Òò´ËÔÚͨ³£Çé¿öÏÂÒѾ­×㹻ʹÓÃÁË¡£ÏÂÃæÎÒÖ»Ê ......

C/C++±à³Ì¼¼ÄÜ¡¾ÕûÀí¡¿

Ô¤´¦ÀíÆ÷£¨Preprocessor£©
1. ÓÃÔ¤´¦ÀíÖ¸Áî#define ÉùÃ÷Ò»¸ö³£Êý£¬ÓÃÒÔ±íÃ÷1ÄêÖÐÓжàÉÙÃ루ºöÂÔÈòÄêÎÊÌ⣩
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
ÎÒÔÚÕâÏë¿´µ½¼¸¼þÊÂÇ飺
1). #define Óï·¨µÄ»ù±¾ÖªÊ¶£¨ÀýÈ磺²»ÄÜÒԷֺŽáÊø£¬À¨ºÅµÄʹÓ㬵ȵȣ©
2). ¶®µÃÔ¤´¦ÀíÆ÷½«ÎªÄã¼ÆËã³£Êý±í´ïʽµÄÖµ£¬Òò´Ë£¬Ö±½Ó ......

Linux»·¾³MySQLµÄC±à³ÌÆð²½

Ê×ÏÈ°²×°±ØÐèµÄ¿ª·¢
°ü
sudo apt-get install gcc g++ libgcc1 libg++ make gdb
°²×°MYSQLµÄCÓïÑÔ¿ª·¢°ü
sudo apt-get install libmysql++-dev libmysql++2c2a libmysqlclient15-dev libmysqlclient15off
°ÑlibÎļþ¿½±´µ½¹«ÓÃ
sudo cp /usr/lib/mysql/* /usr/lib/
½¨Á¢Ò»¸öÐÂÎļþtest.cpp
vim test.cpp
ÊäÈëÄÚÈÝ
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ