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

×Ô¶¯»¯²âÊÔÖÐPythonÓëC/C++µÄ»ìºÏʹÓÃ


±³¾°
ÏîÄ¿µÄ
×Ô¶¯»¯²âÊÔÖÐÒѾ­Ê¹ÓÃÁË»ùÓÚPython
½Å±¾µÄ¿ò¼Ü£¬×Ô¶¯»¯¹ý³ÌÖÐ×î¹Ø¼üµÄÎÊÌâ¾ÍÊÇÈçºÎʵÏÖ׮ģ¿é¡£ÔËÓÃ
Python
Ç¿´óµÄ¹¦ÄÜ£¬ÊµÏÖÈκÎ׮ģ¿é¶¼ÊÇ¿ÉÄܵ쬵«ÊÇÊÇ·ñ±ØÐëÍêȫʹÓÃ
Python
ʵÏÖÄ£¿éÂß¼­£¬³É±¾ÊÇÒ»¸ö¾ö¶¨ÐÔÒòËØ¡£ÔÚ׮ģ¿éÂß¼­¼òµ¥µÄÇé¿öÏ£¬Ê¹ÓÃ
Python
Ä£ÄâÄ£¿éÂß¼­²»µ«Ê¹×Ô¶¯»¯²âÊԵĽṹÇåÎú£¬Ò²¾ßÓиüºÃµÄÁé»îÐÔ£¬µ«ÊÇÈç¹û׮ģ¿éÂß¼­¸´ÔÓ£¬ÊµÏÖÆðÀ´¿ÉÄÜÒªºÄ·ÑºÜ´óµÄ³É±¾£¬Ò²ÈÝÒ×ÓÉÓÚ׮ģ¿éÂß¼­Óëʵ¼Ê²»·ûµ¼Ö²âÊÔ½á¹û²»¿ÉÐÅ¡£ÔÚÕâÖÖÇé¿öÏ£¬Èç¹ûÄܹ»½èÓÃ
RD
¿ª·¢µÄijЩ´úÂë¶Î
/
¿â£¬½«»á¶Ô²âÊÔ×Ô¶¯»¯´øÀ´ºÜ¶àÐ§Òæ¡£ 
ÁíÍ⣬ÔÚPython
Öе÷ÓÃ
C/C++
´úÂëµÄ·½·¨Ò²¿ÉÄÜÓ¦ÓÃÓÚ
C/C++
¿âµÄ²âÊÔÖУ¬ÕâÖÖ²âÊÔ·½·¨µÄ¿ÉÐÐÐÔ»¹ÓдýÑо¿¡£ 
ÒÔÏÂ×ܽá³ö¼¸ÖÖÔÚPython
Öе÷ÓÃ
C/C++
´úÂëµÄ·½·¨
ʹÓÃctypes
Ä£¿éµ÷ÓÃ
C
¶¯Ì¬¿â
´ÓPython2.5
¿ªÊ¼£¬
Python
¿ªÊ¼Ìṩ
ctypes
Ä£¿éÀ´Ìṩ¶Ô
C
ÓïÑÔ±àÒëµÄ¶¯Ì¬¿âÎļþµÄµ÷Óá£×¢Ò⣬ 
ÕâÀïÌØÖ¸C
µÄ¶¯Ì¬¿â
 £¬ÓÃC++
±àÒëµÄ¶¯Ì¬¿â
ctypes
ËäÈ»Äܹ»¼ÓÔØ£¬µ«µ÷ÓÃʱµÄº¯ÊýÃûÒѾ­ÓÉÓÚ
C++
µÄÖØÔØÌØÐÔ±»¼ÓÒÔÐ޸ģ¬ÄÑÒÔµ÷ÓᣠʹÓÃ
ctypes
µ÷ÓÃ
C
¶¯Ì¬¿âµÄºÃ´¦ÔÚÓÚ²»ÓýøÐжîÍâµÄ¿ª·¢£¬¿ÉÒÔÖ±½ÓʹÓñàÒëºÃµÄ¶¯Ì¬¿â¡£
ctypes
ÌṩÁËÍêÕûµÄ
C
ÀàÐÍ·â×°£¬Ò²Ö§³Ö×Ô¶¨ÒåÀàÐÍ£¬´ó´ó¼õÉÙÔÚµ÷Óùý³ÌÖеŤ×÷Á¿¡£
ctypes
µÄʹÓúܼòµ¥£¬Ö»ÐèÊìϤ
python
·â×°Óë
C
ÖеĶÔÓ¦¹ØÏµ¼´¿É¡£ÒÔÏÂÓÃÒ»¸ö¼òµ¥µÄÀý×ÓÀ´ËµÃ÷£º
from
 ctypes 
import
 *



#µ¼ÈëctypesÄ£¿é
libc = cdll.LoadLibrary("libc.so.6")

#¼ÓÔØlibc¶¯Ì¬¿â
str
 = c_char_p('
Hello World!
')


#ʹÓÃchar *ÔÚctypesÖеĶÔÓ¦·â×°c_char_p£¬Ï൱ÓÚchar* str=”Hello World!”
libc.printf(“yell: %s\n”, 
str
)


#µ÷ÓÃprintfº¯Êý
ctypesµÄ¹¦Äܵ±È»Ô¶²»Ö¹ÕâЩ£¬ÓÐÐËȤµÄͬѧ¿ÉÒԲο¼ÕâÀï
http://docs.python.org/library/ctypes.html
ʹÓÃPython
µÄÀ©Õ¹£¨
Extending
£©»úÖÆ
ctypesºÜ·½±ãµØ¿ÉÒÔµ÷ÓÃ
C
µÄ¶¯Ì¬¿â£¬µ«ÊǶÔ
C++
±àÒëµÄ¶¯Ì¬¿â£¬µ÷ÓÃÆðÀ´ºÜÀ§ÄÑ¡£ÕâÖÖÇé¿öÀûÓÃ
Python
µÄ
Extending
»úÖÆ¾Í¿ÉÒÔ½â¾ö¡£
Python
ÌṩÁËÒ»Ì×ÍêÕûµÄ¿ò¼ÜÀ´Ê¹ÓÃ
C/C++
±àдÀ©Õ¹¿â£¬¿ÉÒÔºÜÁé»îµÄ¿ª·¢
C++
À©Õ¹Ä£¿é¡£ÕâÖÖ·½·¨µÄ


Ïà¹ØÎĵµ£º

PythonµÄÄÚ´æÐ¹Â©¼°gcÄ£¿éµÄʹÓÃ

PythonµÄÄÚ´æÐ¹Â©¼°gcÄ£¿éµÄʹÓÃ
                  -- 6.11ÈÕ´íÎóÐÞÕý°æ
            
Horin|ºØÇÚ
        Email: horin153@msn.com ......

Ç¿´óµÄPythonÉú³ÉÆ÷

Öð²½Ñݽø
f=open('/etc/motd','r')
longest=0
while True:
    lineLen=len(f.readline().strip())
    if not lineLen: break
    if lineLen > longest:
        longest=lineLen
f.close()
return longest
ÎÊÌâ£ºÒ»Ö±Õ¼Ó ......

C#ÖÐC/C++³ÌÐòÔ±×¢ÒâÎÊÌâ

1¡¢C/C++³ÌÐòÔ±Çë×¢Ò⣬²»ÄÜÔÚcaseÓï¾ä²»Îª¿Õʱ“ÏòÏÂÖ´ÐД¡£
¡¡¡¡2¡¢ÖµÀàÐͺÍÒýÓÃÀàÐÍÖ®¼äµÄÇø±ð£ºC#µÄ»ù±¾ÀàÐÍ(int£¬charµÈ)¶¼ÊÇÖµÀàÐÍ£¬ÊÇÔÚÕ»Öд´½¨µÄ¡£¶ø¶ÔÏóÊÇÒýÓÃÀàÐÍ£¬´´½¨ÓÚ¶ÑÖУ¬ÐèҪʹÓùؼü×Önew¡£
¡¡¡¡3¡¢ÔÚC#ÖÐͨ¹ýʵÀý·ÃÎʾ²Ì¬·½·¨»ò³ÉÔ±±äÁ¿ÊDz»ºÏ·¨µÄ£¬»áÉú³É±àÒëÆ÷´íÎó¡£µ«ÊÇÎÒÃÇ¿ÉÒÔͨ¹ýÉù ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ