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

PythonµÄC/C++À©Õ¹

  Python
µÄ
C/C++
À©Õ¹
                         
By phidoit@gmail.com
 
¿ÉÀ©Õ¹ÐÔÊÇ
Python
µÄÒ»´óÌØÉ«£¬Ò»·½Ã棬ÓÉÓÚ
Python
ÊǽâÊÍÖ´Ðеģ¬Õâµ¼ÖÂÔËÐÐËÙ¶È»á±È±àÒëÐÍÓïÑÔÂý£¬Òò´Ë¿ÉÒÔͨ¹ýʹÓÃ
C/C++
ÖØÐ´ºËÐIJ¿·Ö´úÂëÒÔ½â¾öÐÔÄÜÉÏµÄÆ¿¾±
(
³ÌÐò
90%
µÄʱ¼äÔÙÔËÐÐ
10%
µÄ´úÂë
)
£»ÁíÒ»·½Ã棬¿ÉÒÔͨ¹ýÀ©Õ¹£¬´ïµ½Ìí¼ÓÕûºÏһЩ¶îÍâµÄ¹¦ÄÜÒÔ¼°±£³ÖרÓÐÔ´´úÂëµÄÄ¿µÄ¡£ÔÚ±¾ÎĽÓÏÂÀ´µÄ²¿·ÖÖÐÎÒÃǽ«ÌÖÂÛÈçºÎ±àд
C/C++
À©Õ¹´úÂ룬²¢Ê¹ÓÃËüÃǵŦÄÜ¡£
ÎÒÃÇÒª½¨Á¢µÄÊÇÒ»¸ö¿ÉÒÔÔÚ
Python
ÄÚÔËÐеÄ
C/C++
Ä£¿é£¬Òò´ËÐèÒª½â¾öÈçºÎʹ
C
´úÂëºÍ
Python
´úÂëÄܹ»½øÐн»»¥ÒÔ¼°Êý¾Ý¹²Ïí¡£À©Õ¹ÊÇͨ¹ýΪ
C
´úÂë±àд°ü×°º¯Êý
(
ÀàËÆÊÊÅäÆ÷
)
ʵÏÖË«Ïò½»»¥ºÍÊý¾Ý¹²ÏíµÄ¡£
 
Ò»£®Ò»°ãµÄ°üװģʽ
 
ÿһ¸ö°ü×°º¯ÊýÖ÷Òª×öÈý¼þÊ£º
1.
°ÑÊäÈëµÄ
Python
¶ÔÏóת»»Îª
C/C++
¶ÔÏó£»
2.
µ÷ÓÃ
C/C++
º¯Êý£»
3.
ת»»
C/C++
º¯Êý´¦ÀíµÄÊä³ö½á¹ûΪ
Python
¶ÔÏ󣬲¢·µ»Ø£»
 
ÏÈÓÃÒ»¸ö¼òµ¥ÑùÀýÃèÊöÄ£¿é´óÌåµÄ¹ý³Ì£º
 //wrap.cpp
//1.C´úÂë
#include "Python.h"
int add(int arg1, int arg2)
{
return arg1 + arg2;
}
//2.addµÄ°ü×°º¯Êý£º
static PyObject* wrap_add(PyObject *self, PyObject *args)
{
//°ÑÊäÈëµÄPython¶ÔÏóת»»ÎªC/C++ÄÜʶ±ðµÄÊý¾Ý
int arg1, arg2;
if(!PyArg_ParseTuple(args, "ii", &arg1, &arg2))
return NULL;
//µ÷ÓÃC/C++º¯Êý£¬µÃµ½½á¹û
int result = add(arg1,arg2);
//°ÑµÃµ½µÄ½á¹û°ü×°³ÉPython¶ÔÏ󣬲¢·µ»Ø
return (PyObject*)Py_BuildValue("i", result);
}
//3.Ϊģ¿éÌí¼ÓPyMethodDef·½·¨Êý×é
static PyMethodDef wrap_methods[] ={
{"add", wrap_add, METH_VARARGS},
{NULL, NULL}
};
//4.Ôö¼ÓÄ£¿é³õʼ»¯º¯ÊýInitModule
PyMODINIT_FUNC initwrap (void)
{
Py_InitModule("wrap ", wrap_methods);
}

    °ÑÉÏÃæµÄ´úÂë±àÒ룬Éú³É
wrap.pyd
¡£
    
 
Visual Studio 2005
±àÒë·½·¨²Î¿¼£º
http://blog.csdn.net/solo_lxy/archive/2007/07/20/1700515.aspx
&


Ïà¹ØÎĵµ£º

2009Äê9Ô·ݱà³ÌÓïÑÔÅÅÐаñ£ºPHP³¬Ô½C++

TIOBEÊÀ½ç±à³ÌÓïÑÔÅÅÐаñÕ¹ÏÖÁ˱à³ÌÓïÑÔµÄÁ÷ÐÐÇ÷ÊÆ¡£Ã¿¸öÔ£¬¶¼ÓÐ×îеÄÊý¾Ý±»¸üС£Õâ·ÝÅÅÐаñµÄÊý¾ÝÈ¡ÑùÀ´Ô´ÓÚ»¥ÁªÍøÉϸ»Óо­ÑéµÄ³ÌÐòÔ±¡¢ÉÌÒµÓ¦Óá¢ÖøÃûµÄËÑË÷ÒýÇæ£¨ÖîÈç¹È¸è¡¢ MSN ¡¢ÑÅ»¢£©µÄ¹Ø¼ü×ÖÅÅÃû¡¢ AlexaÉϵÄÅÅÃûµÈ¡£Çë×¢ÒâÕâ¸öÅÅÐаñÖ»ÊÇ·´Ó³ÁËij¸ö±à³ÌÓïÑÔµÄÈÈÃÅ³Ì¶È , Õâ²¢²»´ú±íËüÊÇÒ»¸ö×îºÃµÄ±à³ÌÓïÑÔ»òÊÇ¿ ......

C++ Boost¿â¼ò½é

    BoostÊÇÒ»¸ö×¼±ê×¼¿â£¬Ï൱ÓÚSTLµÄÑÓÐøºÍÀ©³ä£¬ËüµÄÉè¼ÆÀíÄîºÍSTL±È½Ï½Ó½ü£¬¶¼ÊÇÀûÓ÷ºÐÍÈø´Óôﵽ×î´ó»¯¡£
²»¹ý¶Ô±ÈSTL£¬boost¸ü¼ÓʵÓá£STL¼¯ÖÐÔÚËã·¨²¿·Ö£¬¶øboost°üº¬Á˲»ÉÙ¹¤¾ßÀ࣬¿ÉÒÔÍê³É±È½Ï¾ßÌåµÄ¹¤×÷¡£
    boostÖ÷Òª°üº¬Ò»Ï¼¸¸ö´óÀࣺ×Ö·û´®¼°Îı¾´¦Àí¡¢ÈÝÆ÷¡¢µü´ú× ......

C Sharp ÈëÃÅ£¨¶þ£©±äÁ¿

ÏÈѧVB£¬ÔÙѧC#¡£Ñ§ºÃÁËC#ѧC++¾Í²»ÔÚ»°ÏÂÁË£¡
 
»¹ÊÇÏÈÔÚCSÖн¨Á¢Ò»¸ö¿ØÖÆÌ¨³ÌÐò£¬ÔÙ´ò¿ª“Program.cs”¡£
ÔÚ void_Main ÊäÈëÒÔÏ´úÂ룺
Õâ´Î´úÂë½Ï³¤£¬ÎҾͲ»¸ßÁÁÁË£¡
            double pp1;//¶¨Òå±äÁ¿
    &nb ......

[ת] ×î¼òµ¥µÄʹÓÃUDPͨÐŵÄPython SocketÀý×Ó

À´Ô´£ºhttp://www.jejik.com/articles/2007/02/a_simple_unix_linux_daemon_in_python/
¿Í»§¶Ë³ÌÐò´úÂ룺
# Client program
from socket import *
# Set the socket parameters
host = "localhost"
port = 21567
buf = 1024
addr = (host,port)
# Create socket
UDPSock = socket(AF_INET,SOCK_DGRAM) ......

Pythonѧϰ×ÊÁÏ


Pythonѧϰ
 
»ù±¾ÄÚÈÝ
Python»ù±¾°²×°£º
http://www.python.org/ ¹Ù·½±ê×¼Python¿ª·¢°üºÍÖ§³Ö»·¾³£¬Í¬Ê±Ò²ÊÇPythonµÄ¹Ù·½ÍøÕ¾£»
http://www.activestate.com/ ¼¯³É¶à¸öÓÐÓòå¼þµÄÇ¿´ó·Ç¹Ù·½°æ±¾£¬ÌرðÊÇÕë¶ÔWindows»·¾³Óв»ÉٸĽø£»
 
PythonÎĵµ£º
http://www.python.org/doc/current/lib/ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ