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

¿É±ä²ÎÊýµÄCº¯Êý

(Ò»)дһ¸ö¼òµ¥µÄ¿É±ä²ÎÊýµÄCº¯Êý
ÏÂÃæÎÒÃÇÀ´Ì½ÌÖÈçºÎдһ¸ö¼òµ¥µÄ¿É±ä²ÎÊýµÄCº¯Êý.д¿É±ä²ÎÊýµÄ
Cº¯ÊýÒªÔÚ³ÌÐòÖÐÓõ½ÒÔÏÂÕâЩºê:
void va_start( va_list arg_ptr, prev_param );
type va_arg( va_list arg_ptr, type );
void va_end( va_list arg_ptr );
vaÔÚÕâÀïÊÇvariable-argument(¿É±ä²ÎÊý)µÄÒâ˼.
ÕâЩºê¶¨ÒåÔÚstdarg.hÖÐ,ËùÒÔÓõ½¿É±ä²ÎÊýµÄ³ÌÐòÓ¦¸Ã°üº¬Õâ¸ö
Í·Îļþ.ÏÂÃæÎÒÃÇдһ¸ö¼òµ¥µÄ¿É±ä²ÎÊýµÄº¯Êý,¸Äº¯ÊýÖÁÉÙÓÐÒ»¸öÕûÊý
²ÎÊý,µÚ¶þ¸ö²ÎÊýÒ²ÊÇÕûÊý,ÊÇ¿ÉÑ¡µÄ.º¯ÊýÖ»ÊÇ´òÓ¡ÕâÁ½¸ö²ÎÊýµÄÖµ.
void simple_va_fun(int i, ...)
{
va_list arg_ptr;
int j=0;
va_start(arg_ptr, i);
j=va_arg(arg_ptr, int);
va_end(arg_ptr);
printf("%d %d\n", i, j);
return;
}
ÎÒÃÇ¿ÉÒÔÔÚÎÒÃǵÄÍ·ÎļþÖÐÕâÑùÉùÃ÷ÎÒÃǵĺ¯Êý:
extern void simple_va_fun(int i, ...);
ÎÒÃÇÔÚ³ÌÐòÖпÉÒÔÕâÑùµ÷ÓÃ:
simple_va_fun(100);
simple_va_fun(100,200);
´ÓÕâ¸öº¯ÊýµÄʵÏÖ¿ÉÒÔ¿´µ½,ÎÒÃÇʹÓÿɱä²ÎÊýÓ¦¸ÃÓÐÒÔϲ½Öè:
1)Ê×ÏÈÔÚº¯ÊýÀﶨÒåÒ»¸öva_listÐ͵ıäÁ¿,ÕâÀïÊÇarg_ptr,Õâ¸ö±ä
Á¿ÊÇÖ¸Ïò²ÎÊýµÄÖ¸Õë.
2)È»ºóÓÃva_startºê³õʼ»¯±äÁ¿arg_ptr,Õâ¸öºêµÄµÚ¶þ¸ö²ÎÊýÊǵÚ
Ò»¸ö¿É±ä²ÎÊýµÄǰһ¸ö²ÎÊý,ÊÇÒ»¸ö¹Ì¶¨µÄ²ÎÊý.
3)È»ºóÓÃva_arg·µ»Ø¿É±äµÄ²ÎÊý,²¢¸³Öµ¸øÕûÊýj. va_argµÄµÚ¶þ¸ö
²ÎÊýÊÇÄãÒª·µ»ØµÄ²ÎÊýµÄÀàÐÍ,ÕâÀïÊÇintÐÍ.
4)×îºóÓÃva_endºê½áÊø¿É±ä²ÎÊýµÄ»ñÈ¡.È»ºóÄã¾Í¿ÉÒÔÔÚº¯ÊýÀïʹ
Óõڶþ¸ö²ÎÊýÁË.Èç¹ûº¯ÊýÓжà¸ö¿É±ä²ÎÊýµÄ,ÒÀ´Îµ÷ÓÃva_arg»ñ
È¡¸÷¸ö²ÎÊý.
Èç¹ûÎÒÃÇÓÃÏÂÃæÈýÖÖ·½·¨µ÷Óõϰ,¶¼ÊǺϷ¨µÄ,µ«½á¹ûÈ´²»Ò»Ñù:
1)simple_va_fun(100);
½á¹ûÊÇ:100 -123456789(»á±äµÄÖµ)
2)simple_va_fun(100,200);
½á¹ûÊÇ:100 200
3)simple_va_fun(100,200,300);
½á¹ûÊÇ:100 200
ÎÒÃÇ¿´µ½µÚÒ»ÖÖµ÷ÓÃÓдíÎó,µÚ¶þÖÖµ÷ÓÃÕýÈ·,µÚÈýÖÖµ÷Óþ¡¹Ü½á¹û
ÕýÈ·,µ«ºÍÎÒÃǺ¯Êý×î³õµÄÉè¼ÆÓгåÍ».ÏÂÃæÒ»½ÚÎÒÃÇ̽ÌÖ³öÏÖÕâЩ½á¹û
µÄÔ­ÒòºÍ¿É±ä²ÎÊýÔÚ±àÒëÆ÷ÖÐÊÇÈçºÎ´¦ÀíµÄ.
(¶þ)¿É±ä²ÎÊýÔÚ±àÒëÆ÷ÖеĴ¦Àí
ÎÒÃÇÖªµÀva_start,va_arg,va_endÊÇÔÚstdarg.hÖб»¶¨Òå³ÉºêµÄ,
ÓÉÓÚ1)Ó²¼þƽ̨µÄ²»Í¬ 2)±àÒëÆ÷µÄ²»Í¬,ËùÒÔ¶¨ÒåµÄºêÒ²ÓÐËù²»Í¬,ÏÂ
ÃæÒÔVC++ÖÐstdarg.hÀïx86ƽ̨µÄºê¶¨Òåժ¼ÈçÏÂ('\'ºÅ±íʾÕÛÐÐ):
typedef char * va_list;
#define _INTSIZEOF(n) \
((sizeof(n)+sizeof(int)-1)&~


Ïà¹ØÎĵµ£º

ÂÛC/SÓëB/S

½ñÌì×ßÉÏ·ÉÏͻȻÓижø·¢£¬ÎÒÃÇÀÏʦһֱ¸øÎÒÃǽ²Òª´ÓC/SתÏòB/S£¬µ«ÊÇÎÒ¾õµÃʲôÊÇC/S£¬Ê²Ã´ÊÇB/S£¿Æäʵ¶¼Êǿͻ§»ú·þÎñÆ÷ģʽ°É£¡ÒÔǰ¸ù±¾Ã»ÓÐB/SµÄ¸ÅÄ¶øÈç½ñÕâ¸öB/SµÄ¸ÅÄîÔõô±äµÃÈç´ËµÄ¿äÕÅ£¬ä¯ÀÀÆ÷Ã÷Ã÷¾ÍÊÇÒ»¸ö¿Í»§¶ËÈí¼þ£¬Ö»ÊǰÑÄÇЩ¹æ·¶ºÃµÄÎı¾Òë³É¸÷ÖÖ¸÷ÑùµÄ¸ñʽ£¬Ö»ÊÇ´ó¼Ò¶¼×ñÑ­ÁËÕâÑùµÄÒ»¸ö¹æ¶¨¾Í±ä³ÉÁËÁíÒ»ÖÖ ......

ÊÓÆµ»áÒéÔ´Â루C/C++£©

ϵͳ½éÉÜ£º
      ´Ëϵͳ¾ßÓд«Í³ÊÓÆµ»áÒéµÄÒ»Çй¦ÄÜ£¬»ùÓÚä¯ÀÀÆ÷½çÃæ£¬¿ÉÒÔ¿ØÖÆÔ¶³ÌµÇ½£¬²Î»áÕß¿ÉÒÔͬʱ¿´µ½Ñݽ²ÕߺÍÑݽ²ÄÚÈÝ£¬²¢ÇåÎúµÄÌýµ½Ñݽ²ÕßÉùÒô£¬ÒѾ­ÁË»ØÉùºÍÔëÒôµÄ´¦Àí£¬´ËÍ⻹¿ÉÒÔͬÉù´«Ò룬ÒÔÂú×㲻ͬÓïÖֲλáÈ˵ÄÒªÇ󡣲λáÕß»¹ÄÜʵÏÖ¶à»á³¡×ÔÓÉÇл»£¬²¢¿É²¥·ÅPPTµÈ¡£
ÐèÒªµÄÇëÁª ......

C/C++»ù±¾Êý¾ÝÀàÐÍ

ÁËCÈ»ºóC++£¬È»ºóMFC/Windows,È»ºóÊÇC#,ÆäÖÐÊý¾ÝÀàÐͺܶ࣬ÓÉ»ù±¾ÀàÐÍÑÜÉúµÄtypedefÀàÐÍÒ²N¶à¡£ÊìÖª»ù±¾Êý¾ÝÀàÐÍÊÇÎÒÃÇÕýÈ·±í´ïʵ¼ÊÎÊÌâÖи÷ÖÖÊý¾ÝµÄǰÌᣬÒò´ËÎÒ·ÖÀà×ܽáÁËÒ»ÏÂC/C++/Windows /C#»ù±¾Êý¾ÝÀàÐÍ£¬ÒÔ±ãÈÕºó²éÔÄ¡£
         ANSI C/C++»ù±¾Êý¾ÝÀàÐÍ£º
Type
Size
Ê ......

B/S And C/S

B/S½á¹¹£¨Browser/Server½á¹¹£©½á¹¹¼´ä¯ÀÀÆ÷ºÍ·þÎñÆ÷½á¹¹¡£
1.½ÚÔ¼³É±¾~~~~~
´ó´ó¼ò»¯Á˿ͻ§¶ËµçÄÔÔØºÉ£¬¼õÇáÁËϵͳά»¤ÓëÉý¼¶µÄ³É±¾ºÍ¹¤×÷Á¿£¬½µµÍÁËÓû§µÄ×ÜÌå³É±¾£¨TCO)!ËüÊÇÒ»´ÎÐÔµ½Î»µÄ¿ª·¢!
2.°²È«~~~
ËüÄÜÓÐЧµØ±£»¤Êý¾Ýƽ̨ºÍ¹ÜÀí·ÃÎÊȨÏÞ£¬·þÎñÆ÷Êý¾Ý¿âÒ²ºÜ°²È« ¡£ÔÚÍøÂç¸÷¹¤×÷վͨ¹ýWWWä¯ÀÀÆ÷¾ÍÄÜʵÏÖ¹¤×÷ҵΠ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ