Çë½Ìc¸ßÊÖ£¬defineµÄÎÊÌâ
¸÷λ´óÏÀ£¬Ð¡µÜÓÐÒ»¸öÎÊÌâÇë½Ì£¬ÈçÏÂ
Õâ¸ö #define stack_push ÊÇÒ»¸öº¯Êý£¬µ÷ÓÃÊÇÕâÑùµÄ
int len;
stack_t *stack;
const char *curpos;
int seglen;
const char *next_slash;
int i;
---------
ÒÔÉÏÊDZäÁ¿µÄ¶¨Òå¡£
if (stack_push(curpos, const char *, stack) < 0 || stack_push(next_slash - curpos + 1, int, stack) < 0)
{
stack_destroy(stack);
return -1;
}
ÖÚ´ó¸ç´ó½ãÃÇ£¬ÎÒµÄÎÊÌâ²»ÊÇÕâ¸öµ÷Ó㬶øÊÇÏÂÃæµÄÕâ¸öºê¶¨ÒåÎÒÓиöµØ·½¿´²»Ã÷°×£¬¾ÍÊÇ||ºóÃæµÄ²¿·Ö £¬ÓÈÆäÊÇ*((type *)(stack)->top)++ = (elem), Õⲿ·Ö£¬ÕæµÄÊÇ¿´²»Ã÷°×£¬Çë¸÷λ¸ßÊÖÖ¸½Ìһϰɡ£Ð»Ð»¡£
ʵ¼ÊÉÏÕâ¸öÊǸö±í´ïʽ£¬µ«ÊÇ(elem), Õâ¸öµØ·½£¬¾Í¿´²»Ã÷°×ÁË£¬ÔõÃ´Ìæ»»ºÃÏñ¶¼²»¶Ô¡£¸ßÊÖ°ïÎÒ½âÊÍÒ»ÏÂÕâ¶Î´úÂë°É
#define stack_push(elem, type, stack) \
({ \
(stack)->top + sizeof (type) <= (stack)->base + (stack)->size || \
__stack_expand(stack, sizeof (type)) >= 0 ? \
*((type *)(stack)->top)++ = (elem), (stack)->top - (stack)->base : -1; \
})
/* Never call the following function directly. */
int __stack_expand(stack_t *stack, unsigned int esize);
Æäʵ¾ÍÊǸö?:±í´ïʽ
?ÅжϵÄÌõ¼þÊÇ(stack)->top + sizeof (type) <= (stack)->base + (stack)->size »òÕß
__stack_expand(stack, sizeof (type)) >= 0
Èç¹ûÕâÁ½¸ö±í´ïʽÖÁÉÙÓÐÒ»
Ïà¹ØÎÊ´ð£º
ÇëÎÊVFPÖÐÈçºÎµ÷ÓÃC/C++º¯Êý£¿
ÄãÒªµ÷ÓÃʲô¹¦Äܵĺ¯Êý£¿Òª¿´¿´VFPÖÐÓÐûÓжÔÓ¦µÄº¯Êý£¬Èç¹ûÓоÍÊ¡×ÅÔÙµ÷ÓÃÁË¡£Èç¹ûûÓУ¬¿ÉÒÔ½«C/C++º¯Êýд¸öDLL»òFLL£¬È»ºóÔÚVFPµ÷Óü´¿É¡£
Ê®¶¹Èý ÀÏʦ£¬Ôõô²ÅÄÜÐÞ¸Ä×Ô¼ºµÄ ......
±¾ÈËÕýÔÚÓÃJava×öÒ»¸öC/S¼Ü¹¹µÄÏîÄ¿£¬
¿ÉÊÇÓÉÓÚÏîÄ¿±È½Ï´ó£¬Ç°ÆÚ¶Ô¼Ü¹¹µÄÉè¼ÆÓÈÆäÖØÒª£¬ÒòΪºóÆÚ¿ÉÄÜËæÊ±»á¼Ó¸ö¹¦ÄÜ»òÕßÈ¥µôijЩ¹¦ÄÜ¡£
ËùÒÔÌØµØÑ°ÇóÈçºÎÉè¼ÆC/SµÄ¼Ü¹¹Ê¹³ÌÐò¸ü¼ÓÃæÏò¶ÔÏó¸ü¼ÓÒ×ÓÚά ......
´ó¼ÒºÃ£¬ÎÒÊÇÐÂÊÖ£¬¸Õ¿ªÊ¼½Ó´¥C/S½á¹¹µÄ³ÌÐò£¬ÏëҪʵÏÖÒ»¸ö·ÖÒ³¹¦ÄÜ£¬´ó¼ÒÓÐûÓкõãµÄ·ÖÒ³¿Ø¼þ»òÕß³ÌÐòÖ®ÀàµÄ£¬µ±È»Ô´³ÌÐò¸üºÃ£¬·ñÔò˵˵Á÷³ÌÒ²¿ÉÒÔ£¬Ð¡Ãü±°¡£¬ÔÚÏߵȡ£¡£¡£¡£
´ó¼Ò°ï°ï棬лÁË£¡
×Ô¼ºÐ´Ñ½£¡
......
ÎÒÃǵÄCÓïÑԿζ¼½áÁË¡£¸Ð¾õÀÏʦºÃÏñʲô¶¼Ã»½²ËƵġ£
ÒÔºó¾Í²»»á¿ª¿ÎÁË¡£ÎÒ»¹Ïë¼ÌÐøÑ§C£¬ÒªÔõôѧ²Å¸ßЧÇÒÇáËÉÄØ£¿
C¶ÔÊýѧҪÇóºÜ¸ßÂð£¿ÊýѧÀÏʦ½²¿Î×ÜÊÇ˵£º£º¡°Õâ¸ö¹«Ê½¶ÔÄãÃǼÆËã»úרҵµÄºÜÖØÒªµÄ£¡¡±¡£¿ÉÊÇÎÒà ......