C·ç¸ñ×Ö·û´®£º¶Ô×Ö·û´®½øÐвÙ×÷µÄ C º¯Êý¶¨ÒåÔÚÍ·Îļþ<cstring>ÖУ»
1. ×Ö·û´®¶¨Ò壺char* result£»
2. ×Ö·û´®µÄ×îºóÒ»¸ö×Ö·ûÊÇnull×Ö·û£¨'\0'£©£¬¿ÉÒÔͨ¹ýÕâ¸ö×Ö·ûÈ·¶¨×Ö·û´®µÄ½áβ¡£
3. strlen()·µ»ØµÄÊÇ×Ö·û´®µÄ´óС£»Òò´Ë£¬·ÖÅä¿Õ¼äµÄʱºò£¬ÐèÒª±È×Ö·û´®µÄʵ¼Ê¿Õ¼ä´ó1.
e.g. char* copyString(const char* inString)
{
char *result = new char[strlen(inString)];//BUG£¡ off by one
strcpy(result, inString);
return result;
}
explain£º strlen£¨£©·µ»ØµÄÊÇ×Ö·û´®µÄ´óС£¬±ÈÈç"ab"£¬·µ»ØµÄÊÇ2¡£¶øÔÚnew½øÐзÖÅäµÄʱºò£¬ÐèҪΪ'\0'·ÖÅ ......
C·ç¸ñ×Ö·û´®£º¶Ô×Ö·û´®½øÐвÙ×÷µÄ C º¯Êý¶¨ÒåÔÚÍ·Îļþ<cstring>ÖУ»
1. ×Ö·û´®¶¨Ò壺char* result£»
2. ×Ö·û´®µÄ×îºóÒ»¸ö×Ö·ûÊÇnull×Ö·û£¨'\0'£©£¬¿ÉÒÔͨ¹ýÕâ¸ö×Ö·ûÈ·¶¨×Ö·û´®µÄ½áβ¡£
3. strlen()·µ»ØµÄÊÇ×Ö·û´®µÄ´óС£»Òò´Ë£¬·ÖÅä¿Õ¼äµÄʱºò£¬ÐèÒª±È×Ö·û´®µÄʵ¼Ê¿Õ¼ä´ó1.
e.g. char* copyString(const char* inString)
{
char *result = new char[strlen(inString)];//BUG£¡ off by one
strcpy(result, inString);
return result;
}
explain£º strlen£¨£©·µ»ØµÄÊÇ×Ö·û´®µÄ´óС£¬±ÈÈç"ab"£¬·µ»ØµÄÊÇ2¡£¶øÔÚnew½øÐзÖÅäµÄʱºò£¬ÐèҪΪ'\0'·ÖÅ ......
ʹÓÃC/C++À©Õ¹Python
·Òë:
gashero
Èç¹ûÄã»áÓÃC£¬ÊµÏÖPythonǶÈëÄ£¿éºÜ¼òµ¥¡£ÀûÓÃÀ©Õ¹Ä£¿é¿É×öºÜ¶àPython²»·½±ã×öµÄÊÂÇ飬ËûÃÇ¿ÉÒÔÖ±½Óµ÷ÓÃC¿âºÍϵͳµ÷Óá£
ΪÁËÖ§³ÖÀ©Õ¹£¬Python API¶¨ÒåÁËһϵÁк¯Êý¡¢ºêºÍ±äÁ¿£¬ÌṩÁ˶ÔPythonÔËÐÐʱϵͳµÄ·ÃÎÊÖ§³Ö¡£PythonµÄC APIÓÉCÔ´Âë×é³É£¬²¢°üº¬ “Python.h” Í·Îļþ¡£
±àдÀ©Õ¹Ä£¿éÓëÄãµÄϵͳÏà¹Ø£¬ÏÂÃæ»áÏê½â¡£
Ŀ¼
1 Ò»¸ö¼òµ¥µÄÀý×Ó
2 ¹ØÓÚ´íÎóºÍÒì³£
3 »Øµ½Àý×Ó
4 Ä£¿é·½·¨±íºÍ³õʼ»¯º¯Êý
5 ±àÒëºÍÁ¬½Ó
6 ÔÚCÖе÷ÓÃPythonº¯Êý
7 ½âÎö´«¸øÀ©Õ¹Ä£¿éº¯ÊýµÄ²ÎÊý
8 ½âÎö´«¸øÀ©Õ¹Ä£¿éº¯ÊýµÄ¹Ø¼ü×Ö²ÎÊý
9 ¹¹ÔìÈÎÒâÖµ
10 ÒýÓüÆÊý
10.1 PythonÖеÄÒýÓüÆÊý
10.2 ÓµÓйæÔò
10.3 ΣÏյı¡±ù
10.4 NULLÖ¸Õë
11 ʹÓÃC++±àдÀ©Õ¹
12 Ìṩ¸øÆäËûÄ£¿éÒÔC API
1 Ò»¸ö¼òµ¥µÄÀý×Ó
ÏÂÃæµÄÀý×Ó´´½¨Ò»¸ ......
ʹÓÃC/C++À©Õ¹Python
·Òë:
gashero
Èç¹ûÄã»áÓÃC£¬ÊµÏÖPythonǶÈëÄ£¿éºÜ¼òµ¥¡£ÀûÓÃÀ©Õ¹Ä£¿é¿É×öºÜ¶àPython²»·½±ã×öµÄÊÂÇ飬ËûÃÇ¿ÉÒÔÖ±½Óµ÷ÓÃC¿âºÍϵͳµ÷Óá£
ΪÁËÖ§³ÖÀ©Õ¹£¬Python API¶¨ÒåÁËһϵÁк¯Êý¡¢ºêºÍ±äÁ¿£¬ÌṩÁ˶ÔPythonÔËÐÐʱϵͳµÄ·ÃÎÊÖ§³Ö¡£PythonµÄC APIÓÉCÔ´Âë×é³É£¬²¢°üº¬ “Python.h” Í·Îļþ¡£
±àдÀ©Õ¹Ä£¿éÓëÄãµÄϵͳÏà¹Ø£¬ÏÂÃæ»áÏê½â¡£
Ŀ¼
1 Ò»¸ö¼òµ¥µÄÀý×Ó
2 ¹ØÓÚ´íÎóºÍÒì³£
3 »Øµ½Àý×Ó
4 Ä£¿é·½·¨±íºÍ³õʼ»¯º¯Êý
5 ±àÒëºÍÁ¬½Ó
6 ÔÚCÖе÷ÓÃPythonº¯Êý
7 ½âÎö´«¸øÀ©Õ¹Ä£¿éº¯ÊýµÄ²ÎÊý
8 ½âÎö´«¸øÀ©Õ¹Ä£¿éº¯ÊýµÄ¹Ø¼ü×Ö²ÎÊý
9 ¹¹ÔìÈÎÒâÖµ
10 ÒýÓüÆÊý
10.1 PythonÖеÄÒýÓüÆÊý
10.2 ÓµÓйæÔò
10.3 ΣÏյı¡±ù
10.4 NULLÖ¸Õë
11 ʹÓÃC++±àдÀ©Õ¹
12 Ìṩ¸øÆäËûÄ£¿éÒÔC API
1 Ò»¸ö¼òµ¥µÄÀý×Ó
ÏÂÃæµÄÀý×Ó´´½¨Ò»¸ ......
cÓëc++ staticº¯ÊýµÄÇø±ð
±¾ÎÄת×Ô£ºhttp://blog.csdn.net/lipps/archive/2007/05/18/1615419.aspx
static¹Ø¼ü×ÖÊÇC, C++Öж¼´æÔڵĹؼü×Ö, ËüÖ÷ÒªÓÐÈýÖÖʹÓ÷½Ê½, ÆäÖÐǰÁ½ÖÖÖ»Ö¸ÔÚCÓïÑÔÖÐʹÓÃ, µÚÈýÖÖÔÚC++ÖÐʹÓÃ(C,C++ÖоßÌåϸ΢²Ù×÷²»¾¡Ïàͬ, ±¾ÎÄÒÔC++Ϊ׼).
(1)¾Ö²¿¾²Ì¬±äÁ¿
(2)Íⲿ¾²Ì¬±äÁ¿/º¯Êý
(3)¾²Ì¬Êý¾Ý³ÉÔ±/³ÉÔ±º¯Êý
ÏÂÃæ¾ÍÕâÈýÖÖʹÓ÷½Ê½¼°×¢ÒâÊÂÏî·Ö±ð˵Ã÷
Ò»¡¢¾Ö²¿¾²Ì¬±äÁ¿
ÔÚC/C++ÖÐ, ¾Ö²¿±äÁ¿°´ÕÕ´æ´¢ÐÎʽ¿É·ÖΪÈýÖÖauto, static, register
(<CÓïÑÔ³ÌÐòÉè¼Æ(µÚ¶þ°æ)>Ì·ºÆÇ¿, µÚ174-175Ò³)
ÓëautoÀàÐÍ(ÆÕͨ)¾Ö²¿±äÁ¿Ïà±È, static¾Ö²¿±äÁ¿ÓÐÈýµã²»Í¬
1. ´æ´¢¿Õ¼ä·ÖÅ䲻ͬ
autoÀàÐÍ·ÖÅäÔÚÕ»ÉÏ, ÊôÓÚ¶¯Ì¬´æ´¢Àà±ð, Õ¼¶¯Ì¬´æ´¢Çø¿Õ¼ä, º¯Êýµ÷ÓýáÊøºó×Ô¶¯ÊÍ·Å, ¶østatic·ÖÅäÔÚ¾²Ì¬´æ´¢Çø, ÔÚ³ÌÐòÕû¸öÔËÐÐÆÚ¼ä¶¼²»ÊÍ·Å. Á½ÕßÖ®¼äµÄ×÷ÓÃÓòÏàͬ, µ«Éú´æÆÚ²»Í¬.
2. static¾Ö²¿±äÁ¿ÔÚËù´¦Ä£¿éÔÚ³õ´ÎÔËÐÐʱ½øÐгõʼ»¯¹¤×÷, ÇÒÖ»²Ù×÷Ò»´Î
3. ¶ÔÓÚ¾Ö²¿¾²Ì¬±äÁ¿, Èç¹û²»¸³³õÖµ, ±àÒëÆÚ»á×Ô¶¯¸³³õÖµ0»ò¿Õ×Ö·û, ¶øautoÀàÐ͵ijõÖµÊDz»È·¶¨µÄ. (¶ÔÓÚC ......
cÓëc++ staticº¯ÊýµÄÇø±ð
±¾ÎÄת×Ô£ºhttp://blog.csdn.net/lipps/archive/2007/05/18/1615419.aspx
static¹Ø¼ü×ÖÊÇC, C++Öж¼´æÔڵĹؼü×Ö, ËüÖ÷ÒªÓÐÈýÖÖʹÓ÷½Ê½, ÆäÖÐǰÁ½ÖÖÖ»Ö¸ÔÚCÓïÑÔÖÐʹÓÃ, µÚÈýÖÖÔÚC++ÖÐʹÓÃ(C,C++ÖоßÌåϸ΢²Ù×÷²»¾¡Ïàͬ, ±¾ÎÄÒÔC++Ϊ׼).
(1)¾Ö²¿¾²Ì¬±äÁ¿
(2)Íⲿ¾²Ì¬±äÁ¿/º¯Êý
(3)¾²Ì¬Êý¾Ý³ÉÔ±/³ÉÔ±º¯Êý
ÏÂÃæ¾ÍÕâÈýÖÖʹÓ÷½Ê½¼°×¢ÒâÊÂÏî·Ö±ð˵Ã÷
Ò»¡¢¾Ö²¿¾²Ì¬±äÁ¿
ÔÚC/C++ÖÐ, ¾Ö²¿±äÁ¿°´ÕÕ´æ´¢ÐÎʽ¿É·ÖΪÈýÖÖauto, static, register
(<CÓïÑÔ³ÌÐòÉè¼Æ(µÚ¶þ°æ)>Ì·ºÆÇ¿, µÚ174-175Ò³)
ÓëautoÀàÐÍ(ÆÕͨ)¾Ö²¿±äÁ¿Ïà±È, static¾Ö²¿±äÁ¿ÓÐÈýµã²»Í¬
1. ´æ´¢¿Õ¼ä·ÖÅ䲻ͬ
autoÀàÐÍ·ÖÅäÔÚÕ»ÉÏ, ÊôÓÚ¶¯Ì¬´æ´¢Àà±ð, Õ¼¶¯Ì¬´æ´¢Çø¿Õ¼ä, º¯Êýµ÷ÓýáÊøºó×Ô¶¯ÊÍ·Å, ¶østatic·ÖÅäÔÚ¾²Ì¬´æ´¢Çø, ÔÚ³ÌÐòÕû¸öÔËÐÐÆÚ¼ä¶¼²»ÊÍ·Å. Á½ÕßÖ®¼äµÄ×÷ÓÃÓòÏàͬ, µ«Éú´æÆÚ²»Í¬.
2. static¾Ö²¿±äÁ¿ÔÚËù´¦Ä£¿éÔÚ³õ´ÎÔËÐÐʱ½øÐгõʼ»¯¹¤×÷, ÇÒÖ»²Ù×÷Ò»´Î
3. ¶ÔÓÚ¾Ö²¿¾²Ì¬±äÁ¿, Èç¹û²»¸³³õÖµ, ±àÒëÆÚ»á×Ô¶¯¸³³õÖµ0»ò¿Õ×Ö·û, ¶øautoÀàÐ͵ijõÖµÊDz»È·¶¨µÄ. (¶ÔÓÚC ......
ÔÚ×î½üµÄÒ»¸ö¹ØÓÚLKMLµÄÌÖÂÛÖУ¬Linus¸ø³öÁËΪʲô²»ÓÃC++À´Ð´LinuxÄں˵ÄÀíÓÉ£º
"In fact, in Linux we did try C++ once already, back in 1992. It sucks. Trust me - writing kernel code in C++ is a BLOODY STUPID IDEA.
“ÊÂʵÉÏ£¬ÎÒÃÇÔø¾³¢ÊÔ¹ýÓÃC++À´Ð´£¬ÊÇÔÚ1992ÄêµÄʱºò¡£ºÜÔã¸â¡£ÏàÐÅÎÒ--ÓÃC++À´Ð´Äں˴úÂëÊÇÒ»¸ö·Ç³£ÓÞ´ÀµÄÏë·¨¡£”
"The fact is, C++ compilers are not trustworthy. They were even worse in 1992, but some fundamental facts haven't changed: 1) the whole C++ exception handling thing is fundamentally broken. It's _especially_ broken for kernels. 2) any compiler or language that likes to hide things like memory allocations behind your back just isn't a good choice for a kernel. 3) you can write object-oriented code (useful for filesystems etc) in C, _without_ the crap that is C++."
“ʵ¼ÊÉÏ£¬C++±àÒëÆ÷ÊǺܲ»¿É¿¿µÄ¡£ÔÚ1992ÄêµÄʱºòÇé¿ö¾ÍºÜ²îÁË£¬¶øÇÒһЩ»ù´¡µÄ¶«Î÷µ½ÏÖÔÚ»¹Ã»Óиı䣺(1)Õû¸öC++¶ÔExceptionµÄ´¦Àí¸ù±¾¾ÍÊDz»ÍêÕûµÄ£¬ÌرðÊÇÔÚдÄں˵Äʱºò¡£(2)ÈκÎϲ»¶°Ñ¸úÄÚ´æ·ÖÅäÓÐ¹Ø ......
ÔÚ×î½üµÄÒ»¸ö¹ØÓÚLKMLµÄÌÖÂÛÖУ¬Linus¸ø³öÁËΪʲô²»ÓÃC++À´Ð´LinuxÄں˵ÄÀíÓÉ£º
"In fact, in Linux we did try C++ once already, back in 1992. It sucks. Trust me - writing kernel code in C++ is a BLOODY STUPID IDEA.
“ÊÂʵÉÏ£¬ÎÒÃÇÔø¾³¢ÊÔ¹ýÓÃC++À´Ð´£¬ÊÇÔÚ1992ÄêµÄʱºò¡£ºÜÔã¸â¡£ÏàÐÅÎÒ--ÓÃC++À´Ð´Äں˴úÂëÊÇÒ»¸ö·Ç³£ÓÞ´ÀµÄÏë·¨¡£”
"The fact is, C++ compilers are not trustworthy. They were even worse in 1992, but some fundamental facts haven't changed: 1) the whole C++ exception handling thing is fundamentally broken. It's _especially_ broken for kernels. 2) any compiler or language that likes to hide things like memory allocations behind your back just isn't a good choice for a kernel. 3) you can write object-oriented code (useful for filesystems etc) in C, _without_ the crap that is C++."
“ʵ¼ÊÉÏ£¬C++±àÒëÆ÷ÊǺܲ»¿É¿¿µÄ¡£ÔÚ1992ÄêµÄʱºòÇé¿ö¾ÍºÜ²îÁË£¬¶øÇÒһЩ»ù´¡µÄ¶«Î÷µ½ÏÖÔÚ»¹Ã»Óиı䣺(1)Õû¸öC++¶ÔExceptionµÄ´¦Àí¸ù±¾¾ÍÊDz»ÍêÕûµÄ£¬ÌرðÊÇÔÚдÄں˵Äʱºò¡£(2)ÈκÎϲ»¶°Ñ¸úÄÚ´æ·ÖÅäÓÐ¹Ø ......
´ËƪÎÄÕÂ×¼±¸·Ö2¸ö²¿·ÖÀ´½²Êö£º
µÚÒ»²¿·ÖÖ÷ÒªÏêϸ½²ÊöÒ»ÏÂÔõô¹¹½¨Ò»¸öÍê³ÉµÄC++Ó¦ÓÃÀ©Õ¹Ä£¿é£»
µÚ¶þ²¿·ÖÖ÷Òª½²ÊöÔÚPHP¼°Zend¿ò¼ÜÏÂÔõôʹÓÃZend APIºÍC++ÓïÑÔÀ´ÊµÏÖ×Ô¼ºËùÒªµÄ¹¦ÄÜÒÔ¼°ÏîÄ¿µÄ¿ª·¢£»
´ËƪÎÄÕÂËùÔËÓõĻ·¾³ÔÚLinux
2.4.21-4.ELsmp(Red Hat Linux 3.2.3-20)£¬Apache/2.2.8£¬gcc version 3.2.3
20030502£¬PHP 5.2.5 (cli)£¬Zend Engine v2.2.0ϽøÐС£
Ò»¡¢Ç°ÑÔ
ÒÔǰд¹ýһЩʹÓÃCÓïÑÔÀ´À©Õ¹PHPµÄÓ¦ÓÃ[1
]
¡£ÔÚÌÔ±¦Ê¹ÓÃC++×öPHPµÄÀ©Õ¹×öÏîÄ¿µÄ¹ý³ÌÖУ¬Óöµ½ÁËһЩÎÊÌ⣬´ÓGoogleÖвéÕÒ£¬Ê¹ÓÃC++À´¿ª·¢PHPµÄÖÐÎÄÎÄÕÂÉÙÖ®ÓÖÉÙ£¬¶øÇÒûÓÐÒ»¸öÊÖ²áÀ´¸æËßÓû§Ôõôдm4[2
]
Îļþ£¬ÔõôʹÓÃzend[3
]
ÒýÇæµÄÒ»Ì×apiº¯ÊýȥдÏà¹ØPHPµÄ½Ó¿Ú£¬ÕâÀï¾ÍÔõôÓÃC++ÓïÑÔÀ´¿ª·¢PHPµÄһЩÐĵýéÉܸø´ó¼Ò£¬Ï£ÍûÓÐÐÄÈËÄܹ»ÓÐËùÊÕ»ñ£»
¶þ¡¢ÎªÊ²Ã´ÒªÓÃC++¿ª·¢PHP
ʹÓÃC++±ÈÓÃCÓïÑÔ¿ª·¢PHPÖ÷ÒªÓÐ2¸öºÃ´¦£º
ʹÓÃC++Äܹ»ºÜ·½±ãµÄ²Ù×÷stringÀàÐÍ£¬±¾ÉíµÄһЩÈÝÆ÷ºÍÄ£°å[4
]
¡¢ÒÔ¼°Ãæ¶Ô¶ÔÏóµÄ¹¦ÄÜÈÿª·¢ÕßÄܹ»½ÚÊ¡´óÁ¿¿ª·¢µÄʱ¼ä£¬ÕâÊDZȽÏÖØÒªµÄÒ»µã£»
C++¿ÉÒÔÖ±½ÓʹÓÃCµÄ¿â£¬Ö»ÐèÒªextern "C&quo ......
´ËƪÎÄÕÂ×¼±¸·Ö2¸ö²¿·ÖÀ´½²Êö£º
µÚÒ»²¿·ÖÖ÷ÒªÏêϸ½²ÊöÒ»ÏÂÔõô¹¹½¨Ò»¸öÍê³ÉµÄC++Ó¦ÓÃÀ©Õ¹Ä£¿é£»
µÚ¶þ²¿·ÖÖ÷Òª½²ÊöÔÚPHP¼°Zend¿ò¼ÜÏÂÔõôʹÓÃZend APIºÍC++ÓïÑÔÀ´ÊµÏÖ×Ô¼ºËùÒªµÄ¹¦ÄÜÒÔ¼°ÏîÄ¿µÄ¿ª·¢£»
´ËƪÎÄÕÂËùÔËÓõĻ·¾³ÔÚLinux
2.4.21-4.ELsmp(Red Hat Linux 3.2.3-20)£¬Apache/2.2.8£¬gcc version 3.2.3
20030502£¬PHP 5.2.5 (cli)£¬Zend Engine v2.2.0ϽøÐС£
Ò»¡¢Ç°ÑÔ
ÒÔǰд¹ýһЩʹÓÃCÓïÑÔÀ´À©Õ¹PHPµÄÓ¦ÓÃ[1
]
¡£ÔÚÌÔ±¦Ê¹ÓÃC++×öPHPµÄÀ©Õ¹×öÏîÄ¿µÄ¹ý³ÌÖУ¬Óöµ½ÁËһЩÎÊÌ⣬´ÓGoogleÖвéÕÒ£¬Ê¹ÓÃC++À´¿ª·¢PHPµÄÖÐÎÄÎÄÕÂÉÙÖ®ÓÖÉÙ£¬¶øÇÒûÓÐÒ»¸öÊÖ²áÀ´¸æËßÓû§Ôõôдm4[2
]
Îļþ£¬ÔõôʹÓÃzend[3
]
ÒýÇæµÄÒ»Ì×apiº¯ÊýȥдÏà¹ØPHPµÄ½Ó¿Ú£¬ÕâÀï¾ÍÔõôÓÃC++ÓïÑÔÀ´¿ª·¢PHPµÄһЩÐĵýéÉܸø´ó¼Ò£¬Ï£ÍûÓÐÐÄÈËÄܹ»ÓÐËùÊÕ»ñ£»
¶þ¡¢ÎªÊ²Ã´ÒªÓÃC++¿ª·¢PHP
ʹÓÃC++±ÈÓÃCÓïÑÔ¿ª·¢PHPÖ÷ÒªÓÐ2¸öºÃ´¦£º
ʹÓÃC++Äܹ»ºÜ·½±ãµÄ²Ù×÷stringÀàÐÍ£¬±¾ÉíµÄһЩÈÝÆ÷ºÍÄ£°å[4
]
¡¢ÒÔ¼°Ãæ¶Ô¶ÔÏóµÄ¹¦ÄÜÈÿª·¢ÕßÄܹ»½ÚÊ¡´óÁ¿¿ª·¢µÄʱ¼ä£¬ÕâÊDZȽÏÖØÒªµÄÒ»µã£»
C++¿ÉÒÔÖ±½ÓʹÓÃCµÄ¿â£¬Ö»ÐèÒªextern "C&quo ......
´ËƪÎÄÕÂ×¼±¸·Ö2¸ö²¿·ÖÀ´½²Êö£º
µÚÒ»²¿·ÖÖ÷ÒªÏêϸ½²ÊöÒ»ÏÂÔõô¹¹½¨Ò»¸öÍê³ÉµÄC++Ó¦ÓÃÀ©Õ¹Ä£¿é£»
µÚ¶þ²¿·ÖÖ÷Òª½²ÊöÔÚPHP¼°Zend¿ò¼ÜÏÂÔõôʹÓÃZend APIºÍC++ÓïÑÔÀ´ÊµÏÖ×Ô¼ºËùÒªµÄ¹¦ÄÜÒÔ¼°ÏîÄ¿µÄ¿ª·¢£»
´ËƪÎÄÕÂËùÔËÓõĻ·¾³ÔÚLinux
2.4.21-4.ELsmp(Red Hat Linux 3.2.3-20)£¬Apache/2.2.8£¬gcc version 3.2.3
20030502£¬PHP 5.2.5 (cli)£¬Zend Engine v2.2.0ϽøÐС£
Ò»¡¢Ç°ÑÔ
ÒÔǰд¹ýһЩʹÓÃCÓïÑÔÀ´À©Õ¹PHPµÄÓ¦ÓÃ[1
]
¡£ÔÚÌÔ±¦Ê¹ÓÃC++×öPHPµÄÀ©Õ¹×öÏîÄ¿µÄ¹ý³ÌÖУ¬Óöµ½ÁËһЩÎÊÌ⣬´ÓGoogleÖвéÕÒ£¬Ê¹ÓÃC++À´¿ª·¢PHPµÄÖÐÎÄÎÄÕÂÉÙÖ®ÓÖÉÙ£¬¶øÇÒûÓÐÒ»¸öÊÖ²áÀ´¸æËßÓû§Ôõôдm4[2
]
Îļþ£¬ÔõôʹÓÃzend[3
]
ÒýÇæµÄÒ»Ì×apiº¯ÊýȥдÏà¹ØPHPµÄ½Ó¿Ú£¬ÕâÀï¾ÍÔõôÓÃC++ÓïÑÔÀ´¿ª·¢PHPµÄһЩÐĵýéÉܸø´ó¼Ò£¬Ï£ÍûÓÐÐÄÈËÄܹ»ÓÐËùÊÕ»ñ£»
¶þ¡¢ÎªÊ²Ã´ÒªÓÃC++¿ª·¢PHP
ʹÓÃC++±ÈÓÃCÓïÑÔ¿ª·¢PHPÖ÷ÒªÓÐ2¸öºÃ´¦£º
ʹÓÃC++Äܹ»ºÜ·½±ãµÄ²Ù×÷stringÀàÐÍ£¬±¾ÉíµÄһЩÈÝÆ÷ºÍÄ£°å[4
]
¡¢ÒÔ¼°Ãæ¶Ô¶ÔÏóµÄ¹¦ÄÜÈÿª·¢ÕßÄܹ»½ÚÊ¡´óÁ¿¿ª·¢µÄʱ¼ä£¬ÕâÊDZȽÏÖØÒªµÄÒ»µã£»
C++¿ÉÒÔÖ±½ÓʹÓÃCµÄ¿â£¬Ö»ÐèÒªextern "C&quo ......
ÎãÓ¹ÖÃÒÉ£¬PHPÊÇÒ»Öַdz£°ôµÄ¶¯Ì¬ÍøÒ³ÖÆ×÷ÓïÑÔ£¬ËûºÍCµÄ¼«¸ßÏàËÆÐÔ£¬Ê¹µÃËüµÄÓ﷨ѧÆðÀ´
ºÜÈÝÒ×£¬ËûÓкܶàÀàËÆCÓïÑԿ⺯ÊýµÄ¶«Î÷£¬»¹ÓÐÏñÈÕÆÚ£¬×Ö·û´®ºÍʱ¼äº¯ÊýµÈ£¬ÕâʹµÃËüºÜÈÝ
Ò׿ª·¢Ï൱¸´ÔÓµÄÓ¦ÓóÌÐò¡£
µ±PHPÓ¦Óõ½¹Ø¼üwebÕ¾µãÉÏ£¬ÈçºÎ±£Ö¤ÖÊÁ¿½«»á±äµÃºÜ¹Ø¼ü¡£È»¶ø£¬PHP²¢²»ÊÇÒ»ÖÖÇ¿Àà
ÐÍÓïÑÔ£¨´øÓбäÁ¿ºÍº¯ÊýÉùÃ÷£©£¬¾²
̬µÄ´íÎó¼ì²éÊǷdz£ÓÐÏ޵ġ£ºÜ¶à´íÎó£¬Ïñ¶ªÊ§º¯Êý²ÎÊý£¬
Ö»ÓÐÔÚÌØ¶¨µÄº¯ÊýÐÐÔÚÔËÐÐʱ²Å»á±¨´í¡£
ͨ¹ý°ÑPHPת»»ÎªC++£¬·Ç³£ºÃµÄ¾²Ì¬¼ì²éÌØÐÔ£¨ÔÚ¾µäC/C++ÖбàÒëʱ±¨´íºÍ¾¯¸æ£©½«»á
±»Ó¦ÓÃÓÚPHP¡£
Ò»¸öÍêÈ«Ãâ·ÑºÍÖØ·¢²¼µÄ¹¤¾ßÒÔÃèÊöÐÔµÄÎÄÕ³öÏÖÔÚ2002.3ÔµÄDr.Dobb's JournalÉÏ£¬ÔÚ¿´
Õâ¸öת»»¹¤¾ßǰ£¬½¨ÒéÄãÏÈ¿´¿´ÕâÆªÎÄÕ¡£
¸½£º
1.Dr.Dobb's JournalÍøÖ·
www.ddj.com
2.ʹÓÃc++±àÒëÆ÷µ÷ÊÔPHP
www.ddj.com/cpp/184404995
......
ÎãÓ¹ÖÃÒÉ£¬PHPÊÇÒ»Öַdz£°ôµÄ¶¯Ì¬ÍøÒ³ÖÆ×÷ÓïÑÔ£¬ËûºÍCµÄ¼«¸ßÏàËÆÐÔ£¬Ê¹µÃËüµÄÓ﷨ѧÆðÀ´
ºÜÈÝÒ×£¬ËûÓкܶàÀàËÆCÓïÑԿ⺯ÊýµÄ¶«Î÷£¬»¹ÓÐÏñÈÕÆÚ£¬×Ö·û´®ºÍʱ¼äº¯ÊýµÈ£¬ÕâʹµÃËüºÜÈÝ
Ò׿ª·¢Ï൱¸´ÔÓµÄÓ¦ÓóÌÐò¡£
µ±PHPÓ¦Óõ½¹Ø¼üwebÕ¾µãÉÏ£¬ÈçºÎ±£Ö¤ÖÊÁ¿½«»á±äµÃºÜ¹Ø¼ü¡£È»¶ø£¬PHP²¢²»ÊÇÒ»ÖÖÇ¿Àà
ÐÍÓïÑÔ£¨´øÓбäÁ¿ºÍº¯ÊýÉùÃ÷£©£¬¾²
̬µÄ´íÎó¼ì²éÊǷdz£ÓÐÏ޵ġ£ºÜ¶à´íÎó£¬Ïñ¶ªÊ§º¯Êý²ÎÊý£¬
Ö»ÓÐÔÚÌØ¶¨µÄº¯ÊýÐÐÔÚÔËÐÐʱ²Å»á±¨´í¡£
ͨ¹ý°ÑPHPת»»ÎªC++£¬·Ç³£ºÃµÄ¾²Ì¬¼ì²éÌØÐÔ£¨ÔÚ¾µäC/C++ÖбàÒëʱ±¨´íºÍ¾¯¸æ£©½«»á
±»Ó¦ÓÃÓÚPHP¡£
Ò»¸öÍêÈ«Ãâ·ÑºÍÖØ·¢²¼µÄ¹¤¾ßÒÔÃèÊöÐÔµÄÎÄÕ³öÏÖÔÚ2002.3ÔµÄDr.Dobb's JournalÉÏ£¬ÔÚ¿´
Õâ¸öת»»¹¤¾ßǰ£¬½¨ÒéÄãÏÈ¿´¿´ÕâÆªÎÄÕ¡£
¸½£º
1.Dr.Dobb's JournalÍøÖ·
www.ddj.com
2.ʹÓÃc++±àÒëÆ÷µ÷ÊÔPHP
www.ddj.com/cpp/184404995
......