python31ÓëC½»»¥
1.cµ÷ÓÃpython:
ʵÀý´úÂ룺
main.cµ÷ÓÃtest.pyµÄ
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
//main.c
#include <windows.h>
#include <python.h>
#include <stdio.h>
#include <stdlib.h>
int main(){
Py_Initialize() ;//initialize the python system
PyObject * py= PyImport_ImportModule("test");
Py_Finalize();//Finalize the python system
}
//>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Ïà¹ØÎĵµ£º
David ÔÚ±¾ÎÄÖн«´øÁìÎÒÃÇÁ˽âһϠsetuptools ¿ò¼Ü£¬ËüÊÇ Python Enterprise Application Kit£¨PEAK£©µÄÒ»¸ö¸±ÏîÄ¿¡£ setuptools Ìæ»»Á˱ê×¼µÄ distutils ¿â£¬²¢Îª Python Ìí¼ÓÁ˰汾»¯µÄ°üºÍÒÀÀµÐÔ¹ÜÀí¡£Perl Óû§±È½ÏÊìϤ CPAN£¬¶ø Ruby Óû§Ôò±È½ÏÊìϤ Gems£»Òýµ¼ setuptools µÄ ez_setup ¹¤¾ßºÍËæÖ®¶øÉúµÄÀ©Õ¹ºóµÄ eas ......
PLYÄ£¿é ÊÇLex/YACCPython µÄʵÏÖ£¬¿ÉÒÔÓÃÀ´ÊµÏÖ´Ê·¨·ÖÎö/Óï·¨·ÖÎö£¬µ«ÈçºÎÓ㬻¹Ã»Ñо¿£¬ÒÔºóÓÐʱ¼äÔÙÑо¿°É£»
Ö÷Ò³: http://www.dabeaz.com/ply/
pycparserÄ£¿é ÊÇʹÓÃPLYÄ£¿é·ÖÎöcÓïÑÔÓï·¨µÄÄ£¿é£¬Ã»Ê²Ã´Îĵµ£¬µ«Ä£¿é×Ô´øÁËÀý×ӺͲâÊÔÓÃÀý¡£
Ö÷Ò³: http://code.google.com/p/pycpa ......
ÏÂÃæÕâ¶Î´úÂëÓÐɶ´íÎó£¿
#if ULONG_MAX == 0xFFFFFFFF
inline unsigned long byte_swap(unsigned long x) { return __builtin_bswap32(x); }
inline long byte_swap(long x) { return __builtin_bswap32(x); }
#else
inline unsigned long byte_swap(unsigned long x) { return __builtin_bswap64(x); }
inline long ......
×î½üÔÚ´ÓÍ·¿ªÊ¼Ñ§Ï°Python, Ï£ÍûÓÃblog˳±ã¼Ç¼ÏÂÀ´Ò»Ð©Ð¡µÄ¼¼ÇÉ¡£
½ñÌì¼Ç¼µÚÒ»¸ö£º variable _
ÔÚpythonµÄ½»»¥sessionÖУ¬Ò²¾ÍÊDz»´øÎļþÃûÖ±½ÓÊäÈë"Python”Ö®ºópythonËù´´½¨µÄsession£¬
±äÁ¿"_"»á±£´æÉÏÒ»´Î¼ÆËãµÄ½á¹û¡£ÀýÈ磺
Õâ¸ö±äÁ¿¶Ô¾³£°Ñpythonµ±¼ÆËãÆ÷ÓõÄͬѧ¿ÉÄÜÓÐÓá£
²Î¿¼£ºsys.displayhook( ......
extern "C" °üº¬Ë«Öغ¬Ò壬´Ó×ÖÃæÉϼ´¿ÉµÃµ½£ºÊ×ÏÈ£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“extern”µÄ£»Æä´Î£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“C”µÄ¡£ÈÃÎÒÃÇÀ´Ïêϸ½â¶ÁÕâÁ½Öغ¬Òå¡£
¡¡¡¡£¨1£© ±»extern "C"ÏÞ¶¨µÄº¯Êý»ò±äÁ¿ÊÇexternÀàÐ͵ģ»
¡¡¡¡externÊÇC/C++ÓïÑÔÖбíÃ÷º¯ÊýºÍÈ«¾Ö±äÁ¿×÷Ó÷¶Î§£¨¿É¼ûÐÔ£©µÄ¹Ø¼ü×Ö£¬¸Ã¹Ø¼ü×Ö¸æËß±àÒ ......