ʹÓÃ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>
/*
*
Ïà¹ØÎĵµ£º
µ±LinuxÄÚºËÔÚÌåϵ½á¹¹²îÒì½Ï´óµÄƽ̨֮¼äÒÆֲʱ£¬»á²úÉúÓëÊý¾ÝÀàÐÍÏà¹ØµÄÎÊÌâ¡£
.ÔÚ±àÒëÄÚºËʱʹÓà -Wall -W strict-prototypes Ñ¡Ïî, ¿ÉÒÔ±ÜÃâºÜ¶à´íÎóµÄ·¢Éú
.ÄÚºËʹÓõĻù±¾Êý¾ÝÀàÐÍÖ÷ÒªÓÐ:
int ±ê×¼CÓïÑÔÕûÊýÀàÐÍ
&n ......
ÉÏһƪÖÐÎÒÃÇÒѾÁ˽âÈçºÎÔÚPython³ÌÐòºÍCÄ£¿éÖ®¼ä½øÐÐÖµµÄÏ໥´«µÝ£¬ÏÖÔÚÎÒÃÇÀ´½øÈëʵ×÷½×¶Î£¬¿´¿´ÈçºÎ½«Ò»¸öCÓïÑÔ¿ª·¢µÄ¿ªÔ´mp3±à½âÂë¿âLAME°üװΪһ¸öPythonÏ¿ÉÒÔʹÓõÄÀ©Õ¹Ä£¿é¡£Ê×ÏÈÈ¥http://lame.sourceforge.net/download.phpÏÂÔØLAMEµÄÔ´´úÂ룬ȻºóÇл»µ½rootÓû§±àÒëÔ´´úÂ룬./configure
make
make instal ......
Óë &£º ÈκÎλÓÃ&ÔËËãÓë0½áºÏ½á¹ûΪ0£¬Óë1½áºÏ½á¹ûΪÆä±¾Éí£»
»ò | £º ÈκÎλÓÃ|ÔËËãÓë0½áºÏ½á¹ûΪÆä±¾Éí£¬Óë1½áºÏ½á¹ûΪ1£»
Òì»ò ^ £º ÈκÎλÓÃ^ÔËËãÓë0½áºÏ½á¹ûΪÆä±¾Éí£¬Óë1½áºÏÔòÈ¡·´£» ......
1.ÇóÏÂÃ溯ÊýµÄ·µ»ØÖµ£¨ ΢Èí£©
int func(x)
{
int countx = 0;
while(x)
{
countx ++;
x = x&(x-1);
  ......
B/S ÊÇ Brower/Server ¾ÍÊÇÓÃä¯ÀÀÆ÷(ÈçIE)ΪӦÓóÌÐò¿Í»§¶Ë²Ù×÷·þÎñÆ÷¡£ÕâÑùÓÃä¯ÀÀÆ÷À´²Ù×÷¼òµ¥Ò×Ó㬵«ÊǶÔÊäÈëûÓкܺõÄÑéÖ¤¡£Â߼ʵÏÖ²»¶à¡£±¾µØÖ»ÊÇÓÃÓÚ»ñÈ¡Êý¾ÝÈ»ºó´ó²¿·ÖÑéÖ¤ÐèÒªÌá½»·þÎñÆ÷À´Íê³É¡£
C/S ÊÇClient/Server ¿Í»§¶ËÈí¼þÔòÊÇÒ»¸öÓµÓкܶàÂß¼ÑéÖ¤µÄÈí¼þ£¬±¾µØÑéÖ¤³É¹¦ºó²ÅÌá½»·þÎñÆ÷¡£
ÎÒÕÒµ½µÄ¸üÏêϸР......