ʹÓÃ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>
/*
*
Ïà¹ØÎĵµ£º
1. ½çÃæ¹æ·¶
1.1. ×ÜÌåÔÔò
l ÒÔÓû§ÎªÖÐÐÄ¡£Éè¼ÆÓÉÓû§¿ØÖƵĽçÃæ£¬¶ø²»ÊǽçÃæ¿ØÖÆÓû§¡£
l Çå³þÒ»ÖµÄÉè¼Æ¡£ËùÓнçÃæµÄ·ç¸ñ±£³ÖÒ»Ö£¬ËùÓоßÓÐÏàͬº¬ÒåµÄÊõÓï±£³ÖÒ»Ö£¬ÇÒÒ×ÓÚÀí½â
l ÓµÓÐÁ¼ºÃµÄÖ±¾õÌØÕ÷¡£ÒÔÓû§ËùÊìϤµÄÏÖʵÊÀ½çÊÂÎñµÄ³éÏóÀ´¸øÓû§°µÊ¾ºÍÒþÓ÷£¬À´°ïÖúÓû§ÄÜѸËÙѧ»áÈí¼þµÄʹÓá£
l ½Ï¿ìµÄÏìÓ¦Ë ......
ÈçºÎÖÕÖ¹Ï̵߳ÄÔËÐУ¨C/C++£©
ÏëÒªÖÕÖ¹Ï̵߳ÄÔËÐУ¬¿ÉÒÔʹÓÃÒÔÏ·½·¨£º
1¡¢Ï̺߳¯Êý·µ»Ø£¨×îºÃʹÓø÷½·¨£©¡£
2¡¢Í¨¹ýµ÷ÓÃExitThreadº¯Êý£¬Ï߳̽«×ÔÐг·Ïû£¨×îºÃ²»Ê¹Óø÷½·¨£©¡£
3¡¢Í¬Ò»¸ö½ø³Ì»òÁíÒ»¸ö½ø³ÌÖеÄÏ̵߳÷ÓÃTerminateThreadº¯Êý£¨Ó¦±ÜÃâʹÓø÷½·¨£©¡£
4¡¢ExitProcessºÍTerminateProcessº¯ÊýÒ²¿ÉÒÔÓÃÀ ......
ÔÚÉÏһƪÖÐÎÒÃÇÒѾʹÓÃcÓïÑÔʵÏÖÁËÒ»¸ö×î¼òµ¥µÄÀ©Õ¹Ä£¿é£¬ÕâһƪÖн«ÔÚÆä»ù´¡ÉϽøÐй¦Äܵķḻ¡£Ê×ÏÈÀ´¿¼ÂÇÈçºÎ´ÓÍⲿµÄPythonÏòCÄ£¿é´«µÝ½ø²ÎÊý£¬foo_bar2չʾÁËÈçºÎÏòCÄ£¿é´«µÝÕûÊý£¬¸¡µãÊý£¬×Ö·û´®Èý¸ö²ÎÊý£¬ÆäÖÐ"ids"Ö¸Ã÷ÁË´«Èë²ÎÊýµÄÊý¾ÝÀàÐÍ¡£PyArg_ParseTuple¸ºÔð¶Ôargs½øÐнâÎö£¬Èô½âÎöʧ°ÜÔò·µ»Ø0.´úÂë#include&n ......
ÓùývistaµÄÅóÓѶ¼ÖªµÀ vista²»ÖªÓÉÓÚʲôÔÒòºÜ¶à±àÒëÈí¼þ¶¼²»ÄÜÕý³£¹¤×÷ÁË vs6.0È«²¿¶¼ËµÓÐÒÑÖªµÄ¼æÈÝÐÔÎÊÌâ´æÔÚ
µ±È»Äã¿ÉÒÔ×°ºÃ¼¸¸ögµÄvs2005
¹ÑÈËÒ»Ö±¶¼Ïë×ÔѧһÃżÆËã»úÓïÑÔ
µ«ÊÇ¿àÓÚÕÒ²»µ½±àÒëÆ÷
Á¬×î¼òµ¥µÄhellowold¶¼²»ÄÜÕý³£±àÒë
º¹
²»¶à˵
¿´ÎÒŪµÃ
×ÜËãÄÜÓÃÁË
1.ÏÂÔØMinGW
http://sourceforge.net/pro ......
×î½üÔÚÓÃPython´¦ÀíһЩÊý¾Ý£¬Êý¾ÝÐèÒª´æ´¢µ½MySQLÊý¾Ý¿âÖУ¬²ÉÓÃMySQLdbÀ´½øÐÐÊý¾Ý¿âµÄ²Ù×÷£¬µ«ÊDZ»Ò»¸öÎÊÌâÀ§ÈÅÁ˺ܾá£ÔÚ´ò¿ªÊý¾Ý¿âµÄʱºòMySQLdb.connect(self.host, self.user, self.password, self.database, port=self.port)³öÒì³££¬¶øÇÒÒì³£³öÏÖµÄλÖ÷dz£Ææ¹Ö¡£
³öÏÖÔÚconverters.py 164ÐÐ
from decimal import ......