ʵս¹¹½¨PythonºÍC++»ìºÏϵͳ
¹ØÓÚC++ºÍPythonÖ®¼ä»¥Ïàµ÷ÓõÄÎÊÌ⣬¿ÉÒÔ²éÕÒµ½ºÜ¶à×ÊÁÏ¡£±¾ÎĽ«Ö÷Òª´Ó½â¾öʵ¼ÊÎÊÌâµÄ½Ç¶È¿´ÈçºÎ¹¹½¨Ò»¸öPythonºÍC++»ìºÏϵͳ¡£
Á¦Îª 2009
Ò»¡¢¸ÅÄî
»ìºÏϵͳ£º²ÉÓöàÖÖÓïÑÔ¹¹½¨µÄϵͳ¡£±ÈÈçNative C++ºÍdotNetµÄ»ìºÏϵͳ£¬Python/LuaºÍC++µÄ»ìºÏϵͳ¡£
PythonºÍC++¸÷Óи÷µÄÓÅȱµã£¬¹¹½¨Á½Õß»ìºÏϵͳµÄÖ÷ҪĿµÄ¾ÍÊÇÀûÓÃPythonµÄÁé»îÐÔºÍC++¸ßЧÐÔ£¬Ôö¼Ó³ÌÐòµÄÀ©Õ¹ÐÔ¡£µ±È»»¹ÓÐÆäËûºÃ´¦£¬´Ë´¦¾Í²»Õ¹¿ªÌ¸ÁË¡£½Å±¾ÓïÑÔÓкܶ࣬ÖÁÓÚΪʲô²»²ÉÓÃÆäËûµÄ£¨ÈçLua¡¢RubyµÈ£©£¬ÕâÀïÒ²²»¿¼ÂÇ¡£½Å±¾ÓïÑԵIJÉÓÃÖ÷ÒªÊǸöÈËϲºÃµÄÎÊÌâ¡£²ÉÓÃLua¿ÉÒԲ鵽ºÜ¶à×ÊÁÏ£¬ÒÔÇ°Ò²ÔøÓÃLuaBindʵÏÖ¹ý¡£
¶þ¡¢ÏµÍ³¼Ü¹¹
»ìºÏϵͳ¿ÉÒÔ¼ò»¯³ÉÈçÏÂÄ£ÐÍ£º
ϵͳµÄÔËÐйý³ÌΪ£º
Ê×ÏÈÔÚÓ¦ÓóÌÐòÖÐǶÈë½Å±¾ÓïÑÔ½âÎöÆ÷£¬È»ºóÓýű¾ÓïÑÔÌṩµÄC/C++ API·â×°ÒÑÓеÄC++¹¦Äܿ⣬ÔÙÓýű¾µ÷Ó÷â×°µÄ·þÎñ¡£´Ëºó£¬Ó¦Óòã±ã¿ÉÒÔÖ´Ðнű¾ÀïµÄÄÚÈÝ£¬ÆäЧ¹ûÓëÓ¦ÓòãÖ±½Óµ÷Ó÷þÎñ²ãÀàËÆ¡£
Èý¡¢ÊµÏÖ
±¾ÀýÖвÉÓýű¾ÓïÑÔPython£¬Òò´ËÖ÷Òª¹¤×÷ΪÔÚÓ¦ÓòãǶÈëPython½âÎöÆ÷£¬ÓÃPython·â×°·þÎñ²ã¡£ÎªÁË˵Ã÷ÎÊÌ⣬ӦÓòãµÄʵÏÖΪPythonConsole.ex£¬·þÎñ²ãµÄʵÏÖΪMythma.dll£¬·â×°²ãΪMythmaPy.dll¡£
1¡¢¼Ù¶¨Mythma.dllÖеÄÒ»¸öÀàΪCHelloWorld£º
class MythmaAPI CHelloWorld
{
public:
CHelloWorld(void);
~CHelloWorld(void);
void SetId(int nId) { m_Id = nId;}
int GetId() const { return m_Id; }
private:
int m_Id;
};
2¡¢ÏÖÔÚÓÃBoost.Python·â×°¸ÃÀࣺ
#include "HelloWorld.h"
#include <boost/python.hpp>
using namespace boost::python;
BOOST_PYTHON_MODULE(My
Ïà¹ØÎĵµ£º
·¢
Ïֺܶ๫˾ҪÇóÕÆÎÕһÎű¾ÓïÑÔ£¬Ò»Ö±Ò²Ïë¸ã¸ãÕâ¸ö£¬¿´C++£¬Linux
C±à³ÌÒ²Ö»ÊÇΪÁ˶Ôϵͳ¸ü¼ÓµÄÁ˽⣬°¦£¬ÎҵŤ×÷¶¨Î»ºÃÏñÒ»Ö±¶¼²»ÔõôÃ÷È·£¬ÊÇÒª¸ã¸ö×Ô¼º×îÉó¤µÄÁË£¬ÒÔºóÓÐʱ¼äÔÙ¸ãlinuxC£¬ÕÒ¹¤×÷µÚһλ¡£¡£¡£¹¤
×÷»ù±¾¶¨Î»ÔÚ Java+python£¬´ó²¿·Ö¹«Ë¾Ò²²»»áÒªÇóÒ»¸öÈ˼È×öJavaÒ²×öC++¡£ÔÙ˵ÕâÓïÑÔÒ²ÊÇ´ ......
ѧϰC++Äã±ØÐëÁ˽âÒÔÏÂ֪ʶ£º
C++Ö»ÊÇÒ»ÖÖÓïÑÔ¹¤¾ß£¬ÄãÒª±à³ÌÐò£¬×öÏîĿʵÏÖ×Ô¼ºµÄÏë·¨µ¥¿¿APIÊǺܷѾ¢µÄ£¬ÌرðÊÇÕë¶ÔÖØÁ¿¼¶µÄÏîÄ¿¡£ËùÒÔÔÚʵ¼Ê¹¤×÷ʱ£¬Äã±ØÐë»áÖÁÉÙ1ÖÖC++¿ª·¢¿â£¬ÕâÑùÄã»á¸ü¿ì¸üÓŵØÍê³ÉÒ»ÏîÈÎÎñ¡£
------------------------------------------------------------------------------------
ժ¼ÓÚ:http ......
pythonµÄ×Ô¶¯²¹È«Óкܶ෽·¨£¬±¾ÖÊÉ϶¼ÊÇÓÃ×ֵ䡣Éú³É×Öµä×î³£Óõĵ±È»ÊÇctagÁË£¬µ«ÊÇÿ´ÎÔö¼ÓÄ£¿é¶¼ÒªctagÒ»´ÎҲͦÂé·³µÄ¡£
ÄÜ͵ÀÁµÄÊǺó͵ÀÁÊÇÒ»ÖÖÃÀµÂ£¬ÓÐÈËÒѾ×öÁË×ÖµäºÍÔö¼ÓÄ£¿éµÄ½Å±¾£¬ÎÒÃǸÉÂï²»×øÏíÆä³ÉÄØ¡£
http://vim.sourceforge.net/scripts/script.php?script_id=850
Õâ¸öÃûΪpydictionµÄÏîÄ¿°üÀ¨ÁËÒ»¸ö×Ö ......
PythonÖеÄeasy_install¹¤¾ßºÜºÃÓã¬ËüµÄ×÷ÓÃÀàËÆÓÚPhpÖеÄpear£¬»òÕßRubyÖеÄgem£¬»òÕßPerlÖеÄcpan¡£
Èç¹ûÏëʹÓÃeasy_install¹¤¾ß£¬¿ÉÒÔÖ±½Ó°²×°ez_setup.py
½Å±¾£¬ÔÙpython ez_setup.py£¨Ö®Ç°ÏÈÒª°²×°python£©£º
°²×°Íêºó£¬×îºÃÈ·±£easy_installËùÔÚĿ¼ÒѾ±»¼Óµ½PATH»·¾³±äÁ¿Àï:
Windows: C:\Python25\Scripts
Li ......