ʹÓÃCÓïÑÔÀ©Õ¹Python(ËÄ)
ÉÏһƪÀïµÄLAMEÏîÄ¿ÒѾչʾÁËpythonÈçºÎÓëCÓïÑÔ½»»¥£¬µ«³ÌÐòÈÔ²»¹»ÀíÏ룬ÔÚpythonÕâÒ»¶Ë½ö½öÊÇ´«µÝÔ´ÎļþºÍÄ¿±êÎļþµÄ·¾¶£¬ÔÙµ÷ÓÃCÄ£¿éµÄencode·½·¨À´½øÐбàÂ룬µ«ÎÊÌâÔÚÓÚÄãÎÞ·¨¿ØÖÆencodeº¯Êý£¬±ÈÈçÄãÏë±àÂëµÄÔ´ÎļþÈç¹û²»ÊÇÔʼÊý¾Ý£¬¶øÊÇwavÎļþ»òÕßÆäËû¸ñʽÄØ£¿¶ÔÓÚÕâ¸öÎÊÌ⣬ÓÐÁ½ÖÖ·½·¨¿ÉÒÔÑ¡Ôñ£¬Ò»ÖÖÄ£·ÂÇ°ÃæµÄCÄ£¿é£¬ÔÚÄãµÄPython´úÂëÖжÁÈ¡Êý¾Ý£¬²¢½«Êý¾Ý¿éÖð¸ö´«µÝ¸øencodeº¯Êý£¬ÁíÒ»ÖÖ·½·¨ÊÇÄã´«½øÈ¥Ò»¸ö¶ÔÏó£¬Õâ¸ö¶ÔÏó´øÓÐÒ»¸öread·½·¨£¬ÕâÑùÄã¾Í¿ÉÒÔÔÚCÄ£¿éÀïÖ±½Óµ÷ÓÃËüµÄread·½·¨À´¶ÁÈ¡ÆäÊý¾Ý¡£ ÌýÆðÀ´ºÃÏñµÚ¶þÖÖ¸ü¼ÓÃæÏò¶ÔÏ󣬵«Êµ¼ÊÉϵÚÒ»ÖÖ·½·¨·´¶øÊǸüΪºÏÊʵÄÑ¡Ôñ£¬ÒòΪËü¸üΪÁé»î,ÏÂÃæÎÒÃǾÍÔÚÉÏһƪµÄ»ù´¡ÉÏ,ÀûÓõÚÒ»ÖÖ˼·¶ÔÆä½øÐиÄÔì¡£ÔÚÕâÖÖз½·¨ÖУ¬ÎÒÃÇÐèÒª¶à´Îµ÷ÓÃCÄ£¿éµÄº¯Êý£¬ÀàËÆÓÚ½«ÆäÊÓΪÀàµÄ·½·¨¡£¿ÉCÓïÑÔÊDz»Ö§³ÖÀàµÄ£¬Òò´ËÐèÒª½«×´Ì¬ÐÅÏ¢´æ´¢ÔÚij¸öµØ·½¡£³ý´ËÒÔÍ⣬ÎÒÃÇÐèÒª½«“Àà”±©Â¶¸øÍⲿµÄPython³ÌÐò£¬Ê¹ÆäÄÜ´´½¨“Àà“µÄʵÀý£¬²¢µ÷ÓÃËüµÄ·½·¨¡£ÔÚ“Àà¶ÔÏó“µÄÄÚ²¿ÎÒÃÇÔò½«ÆäдÊý¾ÝµÄÎļþÐÅÏ¢´¢´æÔÚ”¶ÔÏó“µÄ״̬ÖС£ÌýÉÏÈ¥¾ÍÊÇÒ»ÖÖÃæÏò¶ÔÏóµÄ·½·¨£¬²»ÊÇÂð£¿Ê×ÏÈ,×ñÑ"²âÊÔÏÈÐÐ"µÄÔÔò,ÏÈÀ´¿´ÎÒÃǸÄÔìºóµÄPythonÕâÒ»¶Ë,Äã¿ÉÒÔÿ´Î¶ÁÈ¡ÒôƵԴÎļþµÄÒ»¸öÊý¾Ý¿é,½«ÆäתµÝ¸øEncoder¶ÔÏóµÄencode·½·¨,ÕâÑùÎÞÂÛÄãµÄÔ´ÎļþÊǺÎÖÖ¸ñʽ,Ä㶼¿ÉÒÔÔÚEncoderÖнøÐÐ×ÔÓɵĿØÖÆ,ʾÀý´úÂëÈçÏÂ:´úÂëimport clame
INBUFSIZE = 4096
if __name__ == '__main__':
encoder = clame.Encoder('test.mp3')
input = file('test.raw', 'rb')
data = input.read(INBUFSIZE)
while data != '':
encoder.encode(data)
data = input.read(INBUFSIZE)
input.close()
encoder.close() ÔÙÀ´¿´CÀ©Õ¹Ä£¿éÕâÒ»¶Ë£¬ÏÂÃæÊÇÍêÕûµÄ´úÂ룺´úÂë#include <Python.h>
#include <lame.h>
typedef struct {
PyObject_HEAD
FILE* outfp;
&nb
Ïà¹ØÎĵµ£º
ÔÚPythonÖеÄÏß³ÌÔËÐÐʵ¼ÊÊÇÊܵ½InterpreterµÄ¿ØÖÆ»òÕß˵ǣÖƵġ£ÔÚInterpreterµÄºËÐĺ¯Êý
PyObject * PyEval_EvalFrameEx
(PyFrameObject *f, int
throwflag)
ÎÒÃÇ¿ÉÒÔ¿´µ½ÓÐÒ»¸öÈ«¾Ö±äÁ¿_Py_TickerÀ´¿ØÖÆ×ÅÏ̶߳ÔInterpreterµÄÕ¼Óеģ¬Ä¬ÈÏÊÇInterpreterÿִÐÐÒ»°ÙÌõÖ¸Áî¾Í»áÊÍ·ÅÁíÒ»¸öÈ«¾Ö±äÁ¿interpreter_lock.
......
Ö¸Õë,ÖÚËùÖÜÖª,ʱΪһÄÚ´æµØÖ·.Å׿ªOS¼¶±ð»ò¸üµÍµÄÓ²¼þ¼¶±ð²»Ëµ,½ö¶ÔÓ¦ÓÃÄÚµÄʹÓýøÐÐССµÄÒܲâÌÖÂÛ.
Ê×ÏÈ,ÔÚÓ¦ÓÃÄÚ,ÓÃmallocÉêÇëµ½µÄÒ»¿éµØÖ·Ó¦¸ÃÊÇÁ¬ÐøµÄ(²Â²â,Âß¼ÉÏÁ¬Ðø,ʵ¼ÊÉÏÎïÀíÈçºÎ·Ö²¼²»Óè¹Ø×¢).
Æä´Î,Êý¾Ý´æÔÚÔÚÄÚ´æÖж¼ÊÇÒÔ2½øÖÆÐÎʽ´æ·Å.²»´æÔÚÊý¾ÝÀàÐÍ,Òò´Ë,¶ÔÄÚ´æÊý¾ÝµÄ²Ù×÷,Ö»Òª×ñѽø³öÀàÐÍÒ»Ö¼´¿É.
´ ......
1.ÊDz»ÊÇÒ»¸ö¸¸ÀàдÁËÒ»¸övirtual º¯Êý£¬Èç¹û×ÓÀา¸ÇËüµÄº¯Êý²»¼Óvirtual ,Ò²ÄÜʵÏÖ¶à̬?
virtualÐÞÊηû»á±»ÒþÐμ̳еġ£private Ò²±»¼¯³É£¬Ö»ÊÂÅÉÉúÀàûÓзÃÎÊȨÏÞ¶øÒÑ¡£virtual¿É¼Ó¿É²»¼Ó¡£×ÓÀàµÄ¿Õ¼äÀïÓи¸ÀàµÄËùÓбäÁ¿(static³ýÍâ)¡£Í¬Ò»¸öº¯ÊýÖ»´æÔÚÒ»¸öʵÌå(inline³ýÍâ)¡£×ÓÀา¸ÇËüµÄº¯Êý²»¼Óvirtual ,Ò²ÄÜʵÏÖ¶àÌ ......
ÓùývistaµÄÅóÓѶ¼ÖªµÀ vista²»ÖªÓÉÓÚʲôÔÒòºÜ¶à±àÒëÈí¼þ¶¼²»ÄÜÕý³£¹¤×÷ÁË vs6.0È«²¿¶¼ËµÓÐÒÑÖªµÄ¼æÈÝÐÔÎÊÌâ´æÔÚ
µ±È»Äã¿ÉÒÔ×°ºÃ¼¸¸ögµÄvs2005
¹ÑÈËÒ»Ö±¶¼Ïë×ÔѧһÃżÆËã»úÓïÑÔ
µ«ÊÇ¿àÓÚÕÒ²»µ½±àÒëÆ÷
Á¬×î¼òµ¥µÄhellowold¶¼²»ÄÜÕý³£±àÒë
º¹
²»¶à˵
¿´ÎÒŪµÃ
×ÜËãÄÜÓÃÁË
1.ÏÂÔØMinGW
http://sourceforge.net/pro ......
ÉÏһƪÖÐÎÒÃÇÔÚpython¶ËµÄ×ö·¨ÊÇÿ´Î¶ÁÈ¡Ò»¸öÊý¾Ý¿é£¬È»ºó½«Õâ¸öÊý¾Ý¿é´«µÝ½øCÀ©Õ¹Ä£¿éÖÐÈ¥£¬µ«¶ÔÓÚÄ¿±êÎļþµÄÊý¾ÝдÈëÊÇÔÚCÀ©Õ¹Ä£¿éÖÐÍê³ÉµÄ£¬µ«Æäʵ¿ÉÒÔ¸üÃæÏò¶ÔÏóÒ»µã£¬²»ÊÇÂð£¿ÔÀ´outfpÊÇÒ»¸öÎļþÖ¸Õ룬²»Èç¸Ä³ÉÒ»¸ö´ÓPythonÖд«µÝÒ»¸öÎļþ¶ÔÏóµ½CÄ£¿éÀïÈ¥£¬Õâ¸öÎļþ¶ÔÏóÓÐ×Ô¼ºµÄwrite·½·¨£¬ÕâÑùÔÚCÀ©Õ¹Ä£¿éÖÐÄã¾Í¿ÉÒÔ ......