×Ô¼º¶¯ÊÖÓà C À©Õ¹ PHP
[ZT]×Ô¼º¶¯ÊÖÓà C À©Õ¹ PHP
ÒýÑÔ:
ÓиÐÓÚ´ó¶àÊýÈËÈÏΪ PHP Ö»ÊÇÒ»ÖÖÈõÀàÐÍ£¬Ö»ÄÜ×öСÐÍwebÓ¦ÓõĽű¾ÓïÑÔ¡£ ÓëĿǰµÄJava, .Netƽ̨ÓÐÒ»¶¨µÄ²î¾à£¬ËùÒÔ¾ö¶¨Ð´Ò»Ð© PHP µÄÀ©Õ¹·½·¨ÎÄÕ£¬ÎÒÏàÐÅ
ÎÒÃÇPHPERÃÇͨ¹ý×Ô¼º¶¯ÊÖдÉÌÒµÀ©Õ¹£¬Ò»¶¨Äܹ¹½¨³öÇ¿´óµÄ£¬¼«ËÙµÄWebÓ¦Óã¬ÒòΪÀ©Õ¹±¾Éí¾ÍÊDZàÒëÐÍÓïÑÔ±àдµÄ(c/c++)£¬¶øÇÒ¿ÉÒÔ
Ô¤ÏÈפÁôÄÚ´æµÄ(ApacheÆô¶¯Ê±¼ÓÔØ)£¬ÓÐÁË C/C++ ±àдµÄÀ©Õ¹£¬ÎÒÃǼ¸ºõ¿ÉÒÔÎÞËù²»ÄÜ.
ºÇºÇ£¬Zend µÄ˵Ã÷ÎĵµÉÙÖ®ÓÖÉÙ£¬ÕæÁîÈËÍ·ÌÛ
----------------------------------------------------------
»·¾³ÒªÇó: Linux, GCC
Ê×ÏÈ£¬ÎÒÃÇÓ¦¸ÃÑ¡ÔñÈçºÎÈ¥¹¹½¨ÎÒÃǵÄÀ©Õ¹Ä£¿é£¬ ÓÐÈýÖÖ·½Ê½:
1. External Modules
Íⲿģ¿é£¬Ò²¾ÍÊDZàÒë³É¹²Ïí¿â£¬ÓÃdl()º¯Êý¶¯Ì¬¼ÓÔØ¡£
ºÃ´¦£º (1)²»ÐèÒªÖØÐ±àÒë PHP (2)PHPÌå»ýС£¬ÒòΪ²»ÐèÒª±àÒë½øPHP
ȱµã: (1)ÿ´Î*.php½Å±¾Ö´Ðж¼ÐèÒªÓà dl()È¥¼ÓÔØ£¬Ð§ÂʽϵÍ
(2)ÿ´Î¶¼Òªµ÷ÓÃdl()
2. Built-in Modules
±àÒë½øPHP
ºÃ´¦: (1)²»ÐèÒª¶¯Ì¬¼ÓÔØ£¬Ä£¿éÔÚphp½Å±¾ÀïÃæ¿ÉÒÔÖ±½ÓʹÓÃ.
(2)²»ÐèÒª½«Ä£¿é±àÒë³É.so¹²Ïí¿â£¬ÒòΪֱ½Ó±àÒë½øPHP¡£
ȱµã£º (1)¶ÔÄ£¿éµÄ¸Ä±ä¶¼ÐèÒªÖØÐ±àÒëPHP
(2)ÒòΪ±àÒë½øPHP£¬ËùÒÔPHP¶þ½øÖÆÎļþ½Ï´ó£¬¶øÇÒ¶àÕ¼µãÄÚ´æ
3. The Zend Engine
Zend ºËÐÄÀïʵÏÖ £¨ÂÔ ... ÓÐÐËȤµÄ»°¿ÉÒÔ¿´ Zend API£©
Note: ±¾ÈËÍÆ¼öÓà µÚ 2 ÖÖ·½Ê½£¬Ö±½Ó±àÒë½øPHP£¬ µ«ÊÇÔÚÏÂÃæÊ¾ÀýÀÎÒÃDZàÒë³ÉÍⲿģ¿é
£¬ÒòΪ£¬Íⲿģ¿é²»ÐèÒªÖØÐ±àÒë PHP
Ïà¹ØÎĵµ£º
#apt-get install gcc (±àÒëÆ÷)
#apt-get install gdb (µ÷ÊÔ)
#apt-get install libc6-dev (¿ª·¢¿â)
Èç¹ûûÓпª·¢¿â£¬gccµÄʱºò¾Í»á´íÎó
gcc h.c
h.c: In function ‘main’:
h.c:1: warning: incompatible implicit declaration of built-in function ‘prin ......
Ò»¡¢¿ÉÖØÈ뺯Êý
1£©Ê²Ã´ÊÇ¿ÉÖØÈëÐÔ£¿
¿ÉÖØÈ루reentrant£©º¯Êý¿ÉÒÔÓɶàÓÚÒ»¸öÈÎÎñ²¢·¢Ê¹Ó㬶ø²»±Øµ£ÐÄÊý¾Ý´íÎó¡£Ïà·´£¬ ²»¿ÉÖØÈ루non-reentrant£©º¯Êý²»ÄÜÓɳ¬¹ýÒ»¸öÈÎÎñËù¹²Ïí£¬³ý·ÇÄÜÈ·±£º¯ÊýµÄ»¥³â£¨»òÕßʹÓÃÐźÅÁ¿£¬»òÕßÔÚ´úÂëµÄ¹Ø¼ü²¿·Ö½ûÓÃÖжϣ©¡£¿ÉÖØÈ뺯Êý¿ÉÒÔÔÚÈÎÒâʱ¿Ì±»Öжϣ¬ÉÔºóÔÙ¼ÌÐøÔËÐУ¬²»»á¶ªÊ§Êý¾Ý ......
CºÍÖ¸Õëѧϰ±Ê¼Ç £¨1£©
µÚ¶þÕ »ù±¾ÖªÊ¶
»·¾³£º·ÖΪ·ÒëºÍÖ´ÐÐ2¸ö¹ý³Ì¡£ÆäÖзÒë¿ÉÒÔÀí½âΪÊÇÒ»¸ö´Ó³ÌÐò—Ä¿±ê´úÂë—Á´½ÓÆ÷µÄ¹ý³Ì¡£±àÒë¹ý³ÌÓУº
1Ô¤´¦ÀíÆ÷£º´¦Àí#define #includeÕâÒ»Àà´úÂëµÄ¹ý³Ì£»
2Ô´´úÂë½âÎö£º²úÉú´íÎóºÍ¾¯¸æ£»
3ÓÅ»¯Æ÷£ºÓÐÀûÓÚÓÅ»¯´úÂ룬Ìá¸ßЧ ......
Ò»¡¢±à¼JavaÔ´Îļþ
=============================================
Hello.java
=============================================
package test;
public class Hello
{
static
{
try
{
//´Ë´¦¼´Îª±¾µØ·½·¨ËùÔÚÁ´½Ó¿âÃû
&n ......
µÚһƪÎÄÕÂÖÕÓÚÂä±ÊÁË£¬±¾ÎĽ«´Ó˼¿¼µÄ½Ç¶ÈÈ¥ÖØÐÂÈÏʶһÏÂHelloworld¡£ÔÚÀý×ÓÖ®ºó»áÌá³ö²»Í¬µÄÎÊÌ⣬Òýµ¼´ó¼Òȥ˼¿¼Ã¿Ò»¾äÄËÖÁÿ¸öϸ½Ú¡£Í¬Ê±Ï£ÍûÄܹ»Èôó¼ÒÒÔºóÄܹ»ÒÔ²»¶Ï˼¿¼²»¶ÏÌáÎʵķ½Ê½È¥¿´´ý×Ô¼ºµÄ³ÌÐò¡£ÎÒÏàÐÅ´ó¼Ò»á·¢ÏֺܶàÐµĶ«Î÷£¬ºÃÁËÇÐÈëÕýÌâ¡£
ÎÒÃÇÿѧһÖÖеÄÓïÑÔ»ù±¾¶¼»á´Óhelloworld¿ªÊ¼£¬»ù±¾Ã¿ÖÖÓïÑÔ ......