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

ʹÓÃCÓïÑÔÀ©Õ¹Python(Îå)

ÉÏһƪÖÐÎÒÃÇÔÚpython¶ËµÄ×ö·¨ÊÇÿ´Î¶Áȡһ¸öÊý¾Ý¿é£¬È»ºó½«Õâ¸öÊý¾Ý¿é´«µÝ½øCÀ©Õ¹Ä£¿éÖÐÈ¥£¬µ«¶ÔÓÚÄ¿±êÎļþµÄÊý¾ÝдÈëÊÇÔÚCÀ©Õ¹Ä£¿éÖÐÍê³ÉµÄ£¬µ«Æäʵ¿ÉÒÔ¸üÃæÏò¶ÔÏóÒ»µã£¬²»ÊÇÂð£¿Ô­À´outfpÊÇÒ»¸öÎļþÖ¸Õ룬²»Èç¸Ä³ÉÒ»¸ö´ÓPythonÖд«µÝÒ»¸öÎļþ¶ÔÏóµ½CÄ£¿éÀïÈ¥£¬Õâ¸öÎļþ¶ÔÏóÓÐ×Ô¼ºµÄwrite·½·¨£¬ÕâÑùÔÚCÀ©Õ¹Ä£¿éÖÐÄã¾Í¿ÉÒԻص÷Îļþ¶ÔÏóµÄwrite·½·¨À´Íê³ÉÊý¾ÝµÄдÈë¡£ Ê×ÏÈÀ´¿´Python¶ËµÄ´úÂ룬ÎÒÃǶ¨ÒåÁËÒ»¸öfileÀà¼Ì³ÐÏÂÀ´µÄMyFile×ÓÀ࣬ÆäÖеÄwrite·½·¨¾ÍÊÇΪÔÚCÀ©Õ¹Ä£¿éÖлص÷¶ø×¨ÃÅ×¼±¸µÄ¡£´úÂë#!/usr/bin/env python
import clame
INBUFSIZE = 4096
class MyFile(file):
    def __init__(self, path, mode):
        file.__init__(self, path, mode)
        self.n = 0
    def write(self, s):
        file.write(self, s)
        self.n += 1
output = MyFile('test3.mp3', 'wb')
encoder = clame.Encoder(output)
input = file('test.raw', 'rb')
data = input.read(INBUFSIZE)
while data != '':
    encoder.encode(data)
    data = input.read(INBUFSIZE)
input.close()
encoder.close()
output.close()
print 'output.write was called %d times' % output.n  ÔÙÀ´¿´CÄ£¿éµÄ´úÂ룬clame_EncoderObject½á¹¹ÌåÖеÄoutfp¸Ä³ÉÁËPyObjectÀàÐ͵ÄÖ¸Õ룬ÏàÓ¦µÄdealloc·½·¨Ò²×öÁ˵÷Õû£¬ÓÉÓÚoutfpÊÇÒ»¸ö¶ÔÏó£¬Òò´ËÐèÒª¶ÔÆäÒýÓüÆÊý½øÐмõ1²Ù×÷£¬¶øÒÔǰµÄ´úÂëÊÇÖ±½Óµ÷ÓÃfcloseÀ´Ö±½Ó¹Ø±Õ´ò¿ªµÄÄ¿±êÎļþ¡£µ«ÏÖÔÚÎÒÃÇÖ»ÐèÒª¶ÔÆäÒýÓüÆÊý×ö¼õ1²Ù×÷£¬µÈµ½ÆäΪ0µÄʱºò£¬ÔÚÍⲿµÄpython´úÂëÖоͿÉÒԹرÕÕâ¸öÎļþ¶ÔÏó¡£Í¬Ñù¿ÉÒÔ¿´µ½ÔÚinitº¯ÊýÖÐÓÐÏàÓ¦µÄÒýÓüÆÊý¼Ó1µÄ²Ù×÷¡£ÔÚencodeºÍcloseÁ½¸öº¯ÊýÖУ¬Í¨¹ýPyObject_CallMethodʵÏÖÁ˶ÔPython¶ÔÏóÖÐÖ¸¶¨·½·¨µÄ»Øµ÷¡£´úÂë#include <Python.h>
#include <lame.h>
/*
 * 


Ïà¹ØÎĵµ£º

C³ÌÐòÔ±µÄÇéÊé

#include <stdio.h>
#include <string.h>
int
main(void)
{
char str[] =
"3BVPSq4xF.K?=u#,"
"G'K<MrDnRr7gH%#,"
"XKf<f%G`w^=?C<#,"
"HgU_AnNR?*PDQU#,"
......

ʹÓÃCÓïÑÔÀ©Õ¹Python(¶þ)

ÔÚÉÏһƪÖÐÎÒÃÇÒѾ­Ê¹ÓÃcÓïÑÔʵÏÖÁËÒ»¸ö×î¼òµ¥µÄÀ©Õ¹Ä£¿é£¬ÕâһƪÖн«ÔÚÆä»ù´¡ÉϽøÐй¦Äܵķḻ¡£Ê×ÏÈÀ´¿¼ÂÇÈçºÎ´ÓÍⲿµÄPythonÏòCÄ£¿é´«µÝ½ø²ÎÊý£¬foo_bar2չʾÁËÈçºÎÏòCÄ£¿é´«µÝÕûÊý£¬¸¡µãÊý£¬×Ö·û´®Èý¸ö²ÎÊý£¬ÆäÖÐ"ids"Ö¸Ã÷ÁË´«Èë²ÎÊýµÄÊý¾ÝÀàÐÍ¡£PyArg_ParseTuple¸ºÔð¶Ôargs½øÐнâÎö£¬Èô½âÎöʧ°ÜÔò·µ»Ø0.´úÂë#include&n ......

¼òÊöCºÍC++³ÌÐòԱѧϰÀú³Ì

¹þ¹þ£¡ÓÐÐÒÔÚÄ³ÍøÕ¾·¢ÏÖÕâÆªÎÄÕ£¬¶Á°Õ£¬¾õµÃÂùÓеÀÀí£¬·¢À´´ó¼ÒÒ»Æð¹²ÃãÖ®    
×ÜÊDZ»Í¬Ñ§ÃÇÎʵ½£¬ÈçºÎѧϰCºÍC++²Å²»Ã£È»£¬²Å²»ÊÇÂÒѧ£¬ÏëÁËһϣ¬ÕâÀï¸ø³öÒ»¸ö×ܵĻظ´¡£ 
' J$ |0 ?! p% w" t5 D6 D: c9 |0 B
¡¡¡¡Ò»¼ÒÖ®ÑÔ£¬»¶Ó­ÅÄש¹þ¡£ 
¡¡¡¡1¡¢¿ÉÒÔ¿¼ÂÇÏÈѧϰC. 
/ U$ X+ X/ P; Y ......

C/C++ ±ÊÊÔ¡¢ÃæÊÔÌâÄ¿´ó»ã×Ü£¨×ª£©

1.ÊDz»ÊÇÒ»¸ö¸¸ÀàдÁËÒ»¸övirtual º¯Êý£¬Èç¹û×ÓÀา¸ÇËüµÄº¯Êý²»¼Óvirtual ,Ò²ÄÜʵÏÖ¶à̬?
virtualÐÞÊηû»á±»ÒþÐμ̳еġ£private Ò²±»¼¯³É£¬Ö»ÊÂÅÉÉúÀàûÓзÃÎÊȨÏÞ¶øÒÑ¡£virtual¿É¼Ó¿É²»¼Ó¡£×ÓÀàµÄ¿Õ¼äÀïÓи¸ÀàµÄËùÓбäÁ¿(static³ýÍâ)¡£Í¬Ò»¸öº¯ÊýÖ»´æÔÚÒ»¸öʵÌå(inline³ýÍâ)¡£×ÓÀา¸ÇËüµÄº¯Êý²»¼Óvirtual ,Ò²ÄÜʵÏÖ¶àÌ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ