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

ºÜºÃµÄc++ºÍPython»ìºÏ±à³ÌÎÄÕÂ

http://www.cppblog.com/jacky2019/archive/2007/05/17/24269.html
c++ÖÐǶÈëpythonÈëÃÅ1
±¾ÈËÊÇÓÃvc2003+python2.5ѧϰµÄ£¬ÆäËüµÄÒ²Ó¦¸Ã²î²»Á˶àÉÙ
0. »µ¾³ÉèÖÃ
°ÑpythonµÄinclude/libsĿ¼·Ö±ð¼Óµ½vcµÄinclude/lib directoriesÖÐÈ¥¡£ÁíÍ⣬ÓÉÓÚpythonûÓÐÌṩdebug lib£¬ÌåµØËµ£¬¾ÍÊÇûÓÐÌṩpython25_d.libÁË¡£Äã¿ÉÒÔ×Ô¼º±àÒëpythonµÄÔ´´úÂëÀ´µÃµ½python25_d.libµÄ£¬Å¼»¹Ã»ÊÔ¹ý£¬ºÇºÇ¡£¶øÇÒÍøÉÏÕÒÁËÒ»ÏÂҲûÏÂÔØµ½¡£ËùÒÔ£¬Èç¹ûÄãÏëÒªÔÚdebugÏÂÔËÐгÌÐòµÄ»°£¬ÄãÒª°Ñpyconfig.h£¨ÔÚpython25/include/Ŀ¼Ï£©µÄ´ó¸ÅÊÇÔÚ283ÐУ¬°Ñpragma comment(lib,"python25_d.lib")¸Ä³Épragma comment(lib,"python25.lib")£¬ÈÃpython¶¼Ê¹Ó÷Çdebug lib.
1. ¿ªÊ¼±à³ÌÁË
#include <python.h>
µÚÒ»²½¾ÍÊǰüº¬pythonµÄÍ·Îļþ
2. ¿´Ò»¸öºÜ¼òµ¥µÄÀý×Ó
1)pythonÎļþtest.py£¬ºÜ¼òµ¥µÄ¶¨ÒåÁËÒ»¸öº¯Êý
#Filename test.py
def Hello():
    print "Hello, world!"
Õâ¸öÓ¦¸ÃÄÜ¿´¶®µÄ°É£¿·ñÔòµÄ»°£¬»ØÈ¥ÔÙÁ·Á·python°É£¬ºÇºÇ¡£¡¶¼òÃ÷Python½Ì³Ì¡·Swaroop, C. H. Öø¡£Éò½àÔª  Òë¡£
2)cppÎļþ
#include <python.h> //°üº¬Í·Îļþ£¬ÔÚc++ÖÐǶÈëpython£¬ÕâÊDZØÐëµÄ
int main()
{
 Py_Initialize();
 PyObject * pModule = NULL;
 PyObject * pFunc   = NULL;
 pModule = PyImport_ImportModule("test");
 pFunc   = PyObject_GetAttrString(pModule, "Hello");
 PyEval_CallObject(pFunc, NULL);
 Py_Finalize();
 return 0;
}
µÚÒ»²½»¹Êǰüº¬Í·Îļþ
µÚ¶þ²½£¬Ê¹ÓÃpython֮ǰ£¬Òªµ÷ÓÃPy_Initialize();Õâ¸öº¯Êý½øÐгõʼ»¯¡£
°ïÖúÎĵµÖÐÈçÊÇ˵£º
The basic initialization function is Py_Initialize(). This initializes the table of loaded modules, and creates the fundamental modules __builtin__, __main__, sys, and exceptions. It also initializes the module search path (sys.path).
·´Õý£¬Ò»¿ªÊ¼ÄãÒ»¶¨Òªµ÷Óá£
µÚÈý²½£¬ÉùÃ÷һЩPythonµÄ±äÁ¿£¬PyObjectÀàÐ͵ġ£ÆäʵÉùÃ÷Ò²¿É·ÅÔÚÇ°Ãæ£¬Õâ¸öµ¹ÊÇÎÞËùνµÄ¡£
µÚËIJ½£¬import module£¬Ò²¾ÍÊÇÄãµÄ½Å±¾Ãû×Ö£¬²»ÐèÒª¼Óºó׺Ãû£¬·ñÔò»á³ö´íµÄ¡£
µÚÎå²½£¬´ÓÄãimport½øÀ´µÄmoduleÖеõ½ÄãÒªµÄº¯Êý
 pFunc   = PyObject_GetAttrString(pModule, "Hello");
ÉÏÃæµÄÀý×ÓÒѾ­¹»Çå³þ


Ïà¹ØÎĵµ£º

Python±Ê¼Ç£¨7£©

  Ò»¸öPython½Å±¾µÄ¿ª·¢È«¹ý³Ì
ÎÊÌ⣺Íê³ÉÒ»¸ö¿ÉÒÔΪÎÒÃÇËùÓеÄÖØÒª³ÌÐò×ö±¸·ÝµÄ³ÌÐò¡£
²½Öè²ð½â£º
ÐèÒª±¸·ÝµÄÎļþºÍĿ¼ÓÉÒ»¸öÁбíÖ¸¶¨¡£
Îļþ±¸·Ý³ÉÒ»¸özipÎļþ¡£
zip´æµµµÄÃû³ÆÊǵ±Ç°µÄÈÕÆÚºÍʱ¼ä¡£
ÎÒÃÇʹÓñê×¼µÄzipÃüÁËüͨ³£Ä¬ÈϵØËæLinux/Unix·¢ÐаæÌṩ¡£WindowsÓû§¿ÉÒÔʹÓÃInfo-Zip³ÌÐò¡£×¢Òâ ......

Python IDE and GUI Framework for Windows

Pythonwin - Python IDE and GUI Framework for Windows.
Copyright 1994-2006 Mark Hammond
Python is Copyright (c) 2000-2008 ActiveState Software Inc.
Copyright (c) 2001-2008 Python Software Foundation.
All Rights Reserved.
Copyright (c) 2000 BeOpen.com.
All Rights Reserved.
Copyright (c) 1995-20 ......

c/c++ÃæÊÔÌâ

½ñÌìÈ¥ÃæÊÔÒ»¼Ò¹«Ë¾£¬ÌîÁËÒ»·Ý“»§¿Úµ÷²é”£¬È»ºó¾ÍÊÇ×öÒ»·ÝÃæÊÔÌ⣬ÌâÄ¿ºÜ¼òµ¥
1¡¢¸Ä´íÌ⣬¸øÒ»¶Î³ÌÐò£¬Ö¸³ö´íÎó
2¡¢Socket×èÈûºÍ·Ç×èÈû±à³Ì£¬·Ç×èÈûµÄʵÏÖÔ­Àí
3¡¢TCP/IPÓëOSIÆß²ãÄ£ÐÍ
TCP/IP²Î¿¼Ä£Ð͹²ÓÐÎå²ã£ºÓ¦Óò㡢´«Êä²ã¡¢»¥ÁªÍø²ãºÍÖ÷»úÖÁÍøÂç²ã¡£
ÓëOSI²Î¿¼Ä£ÐÍÏà±È£¬TCP/IP²Î¿¼Ä£ÐÍûÓбíʾ²ãºÍ» ......

Windows via C/C++£ºÏ̵߳ÄÖ´ÐÐʱ¼ä

¼ÆËãÏß³ÌÖ´ÐÐijÏîÈÎÎñÏûºÄµÄʱ¼äʱ£¬Ðí¶à¿ª·¢ÈËÔ±»áµ÷ÓÃGetTickCount/GetTickCount64±àдÈçϵĴúÂ룺
// Get the current time (start time)
ULONGLONG qwStartTime = GetTickCount64();
// Perform complex algorithm here
// Subtract start time from current time to get duration
ULONGLONG dwElapsedTime = Get ......

C++/Cºê¶¨ÒåÖÐ## Á¬½Ó·ûÓë# ·ûµÄº¬Òå

## Á¬½Ó·ûÓë# ·û
¡¡¡¡## Á¬½Ó·ûºÅÓÉÁ½¸ö¾®ºÅ×é³É£¬Æä¹¦ÄÜÊÇÔÚ´ø²ÎÊýµÄºê¶¨ÒåÖн«Á½¸ö×Ó´®(token)Áª½ÓÆðÀ´£¬´Ó¶øÐγÉÒ»¸öеÄ×Ó´®¡£µ«Ëü²»¿ÉÒÔÊǵÚÒ»¸ö»òÕß×îºóÒ»¸ö×Ó´®¡£ËùνµÄ×Ó´®(token)¾ÍÊÇÖ¸±àÒëÆ÷Äܹ»Ê¶±ðµÄ×îСÓï·¨µ¥Ôª¡£¾ßÌåµÄ¶¨ÒåÔÚ±àÒëÔ­ÀíÀïÓÐÏ꾡µÄ½âÊÍ£¬µ«²»ÖªµÀÒ²ÎÞËùν¡£Í¬Ê±ÖµµÃ×¢ÒâµÄÊÇ#Á¬½Ó·ûÊǰѴ«µÝ¹ý ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ