¹ØÓÚCµÄ±ä³¤²ÎÊý
ijЩÇé¿öÏÂÏ£Íûº¯ÊýµÄ²ÎÊý¸öÊý¿ÉÒÔ¸ù¾ÝÐèҪȷ¶¨¡£µäÐ͵ÄÀý×ÓÓдó¼ÒÊìϤµÄº¯Êýprintf()¡¢scanf()ºÍϵͳµ÷ÓÃexecl()µÈ¡£ÄÇôËüÃÇÊÇÔõÑùʵÏÖµÄÄØ£¿C±àÒëÆ÷ͨ³£ÌṩÁËһϵÁд¦ÀíÕâÖÖÇé¿öµÄºê£¬ÒÔÆÁ±Î²»Í¬µÄÓ²¼þƽ̨Ôì³ÉµÄ²îÒ죬Ôö¼Ó³ÌÐòµÄ¿ÉÒÆÖ²ÐÔ¡£ÕâЩºê°üÀ¨va_start¡¢ va_argºÍva_endµÈ¡£
²ÉÓÃANSI±ê×¼ÐÎʽʱ£¬²ÎÊý¸öÊý¿É±äµÄº¯ÊýµÄÔÐÍÉùÃ÷ÊÇ£º
type funcname(type para1, type para2, ...)
ÕâÖÖÐÎʽÖÁÉÙÐèÒªÒ»¸öÆÕͨµÄÐÎʽ²ÎÊý£¬ºóÃæµÄÊ¡ÂԺŲ»±íʾʡÂÔ£¬¶øÊǺ¯ÊýÔÐ͵ÄÒ»²¿·Ö¡£typeÊǺ¯Êý·µ»ØÖµºÍÐÎʽ²ÎÊýµÄÀàÐÍ¡£
²ÉÓÃÓëUNIX System V¼æÈݵÄÉùÃ÷·½Ê½Ê±£¬²ÎÊý¸öÊý¿É±äµÄº¯ÊýÔÐÍÊÇ£º
type funcname(va_alist)
va_dcl
ÕâÖÖÐÎʽ²»ÐèÒªÌṩÈÎºÎÆÕͨµÄÐÎʽ²ÎÊý¡£typeÊǺ¯Êý·µ»ØÖµµÄÀàÐÍ¡£va_dclÊǶԺ¯ÊýÔÐÍÉùÃ÷ÖвÎÊýva_alistµÄÏêϸÉùÃ÷£¬Êµ¼ÊÊÇÒ»¸öºê¶¨Ò壬¶Ô²»Í¬µÄÓ²¼þƽ̨²ÉÓò»Í¬µÄÀàÐÍÀ´¶¨Ò壬µ«ÔÚ×îºó¶¼°üÀ¨ÁËÒ»¸ö·ÖºÅ¡£Òò´Ëva_dclºó²»ÔÙÐèÒª¼ÓÉÏ·ÖºÅÁË¡£va_dclÔÚ´úÂëÖбØÐëÔÑù¸ø³ö¡£ va_alistÔÚVCÖпÉÒÔÔÑù¸ø³ö£¬Ò²¿ÉÒÔÂÔÈ¥¡£
´ËÍ⣬²ÉÓÃÍ·Îļþstdarg.h±àдµÄ³ÌÐòÊÇ·ûºÏANSI±ê×¼µÄ£¬¿ÉÒÔÔÚ¸÷ÖÖ²Ù×÷ϵͳºÍÓ²¼þÉÏÔËÐУ»¶ø²ÉÓÃÍ·Îļþvarargs.hµÄ·½Ê½½ö½öÊÇΪÁËÓëÒÔǰµÄ³ÌÐò¼æÈÝ¡£ËùÒÔ½¨Òé´ó¼ÒʹÓÃǰÕß¡£ÒÔÏÂÖ÷Òª¾ÍǰһÖÖ·½Ê½¶Ô²ÎÊýµÄ´¦Àí×ö³ö˵Ã÷¡£Á½ÖÖ·½Ê½µÄ»ù±¾ÔÀíÊÇÒ»Öµģ¬Ö»ÊÇÔÚÓï·¨ÐÎʽÉÏÓÐһЩϸ΢µÄÇø±ð¡£
va_startʹargpÖ¸ÏòµÚÒ»¸ö¿ÉÑ¡²ÎÊý¡£va_arg·µ»Ø²ÎÊýÁбíÖеĵ±Ç°²ÎÊý²¢Ê¹argpÖ¸Ïò²ÎÊýÁбíÖеÄÏÂÒ»¸ö²ÎÊý¡£va_end°Ñargp Ö¸ÕëÇåΪNULL¡£º¯ÊýÌåÄÚ¿ÉÒÔ¶à´Î±éÀúÕâЩ²ÎÊý£¬µ«ÊǶ¼±ØÐëÒÔva_start¿ªÊ¼£¬²¢ÒÔva_end½áβ¡£
µ÷ÓÃÕßÔÚʵ¼Êµ÷ÓòÎÊý¸öÊý¿É±äµÄº¯Êýʱ£¬ÒªÍ¨¹ýÒ»¶¨µÄ·½·¨Ö¸Ã÷ʵ¼Ê²ÎÊýµÄ¸öÊý£¬ÀýÈç°Ñ×îºóÒ»¸ö²ÎÊýÖÃΪ¿Õ×Ö·û´®£¨ÏµÍ³µ÷ÓÃexecl()¾ÍÊÇÕâÑùµÄ£©¡¢- 1»òÆäËûµÄ·½Ê½£¨º¯Êýprintf()¾ÍÊÇͨ¹ýµÚÒ»¸ö²ÎÊý£¬¼´Êä³ö¸ñʽµÄ¶¨ÒåÀ´È·¶¨Êµ¼Ê²ÎÊýµÄ¸öÊýµÄ£©¡£
ÏÂÃæ¸ø³öÒ»¸ö¾ßÌåµÄÀý×Ó¡£ÊDzÉÓÃÁË·ûºÏANSI±ê×¼µÄÐÎʽµÄ´úÂë¡£´úÂëÖмÓÁËһЩעÊÍ£¬ÕâÀï¾Í²»ÔÙ½âÊÍÁË¡£¸ÃÀý×ÓÒѾÔÚVC/Windows XP¡¢CC/AIX4.3.2.0¡¢GCC/SUSE7.3»·¾³Ï±àÒë²¢Õý³£ÔËÐС£
1¡¢ÑÝʾÈçºÎʹÓòÎÊý¸öÊý¿É±äµÄº¯Êý£¬²ÉÓÃANSI±ê×¼ÐÎʽ
#include < stdio.h >
#include < string.h >
#include < stdarg.h >
/* º¯ÊýÔ
Ïà¹ØÎĵµ£º
ÓÃlinux C ϵĺ¯Êýµ÷Óô´½¨ÖÐÎÄĿ¼¡¢ÎļþµÈ£¬×Ö·û´®µÄ±àÂë¸ñʽҪÇóÊÇutf-8¸ñʽµÄ¡£
±ÈÈçÏëҪʹÓà int mkdir(const char *pathname, mode_t mode); ´´½¨Ò»¸öÖÐÎĵÄĿ¼¡£ÄÇôpathnameµÄ±àÂë¸ñʽҪÇóÊÇutf-8µÄ£¬¶ø²»ÄÜÊÇgb3212/gbkµÄ£¬·ñÔò¾ÍÊÇÂÒÂë¡£
ÄÇôÈç¹ûlinux CÏÂÈçºÎ½øÐÐgbk<---->utf-8±àÂëת»»µÄ±àÂë×°»»µÄ ......
Boss˵£¬Òª¿´OpenGL£¬¿´ÁË¿ìÒ»¸öÔ£¬×ÜËã³öÁ˸öÏñÑùµÄ¶«Î÷£¬ÓÃCдÁ˸ö3DÃÔ¹¬£¬
ËäȻֻÓÐ350ÐÐ
´úÂ룬²»¹ý±ßѧ±ßд£¬×ã×ãдÁËÒ»ÖÜʱ¼ä£¬»¹ÊÇСÓгɾ͸е쬻î»î»î£¡
&n ......
[ÕªÒª]¿ÉÀ©Õ¹±êÖ¾ÓïÑÔ£¨¼ò³ÆXML£©ÔÚʵÏÖÐÅÏ¢±ê×¼»¯¡¢ÐÅÏ¢µÄ½»Á÷Óë¹²ÏíÉÏÓÐÆä¶ÀÌØµÄ¼¼ÊõÓÅÊÆ£¬Òò´ËËüÊܵ½Á˹㷺µÄÖØÊÓ¡£È«ÎÄÊ×ÏÈÌá³öÁË»ùÓÚXMLµÄÈý²ãClient/ServerÄ£ÐÍ£»È»ºó¶ÔÆä´ÓÊý¾Ý»ñÈ¡¡¢´«ÊäÖÁÏÔʾÒÔ¼°Íⲿ´¦ÀíµÄÓ¦ÓýøÐзÖÎö£»½Ó×ÅÒÔͼÊé×ÊÁϹÜÀíϵͳΪÀý£¬ËµÃ÷ÁËÆä¾ßÌåµÄʵÏÖ£»×îºó¶Ô»ùÓÚXMLµÄÈý²ãC/SÄ£ÐÍÔÚÐÅÏ¢±ê×¼» ......
Android±àÒë»·¾³±¾Éí±È½Ï¸´ÔÓ£¬ÇÒ²»ÏñÆÕͨµÄ±àÒë»·¾³£ºÖ»Óж¥²ãĿ¼Ï²ÅÓÐMakefileÎļþ£¬¶øÆäËûµÄÿ¸öcomponent¶¼Ê¹ÓÃͳһ±ê×¼µÄ
Android.mk.
Android.mkÎļþ±¾ÉíÊDZȽϼòµ¥µÄ£¬²»¹ýËü²¢²»ÊÇÎÒÃÇÊìϤµÄMakefile£¬¶øÊǾ¹ýÁËAndroid×ÔÉí±àÒëϵͳµÄºÜ¶à´¦Àí£¬Òò´ËÒªÕæÕýÀíÇå
³þÆäÖеÄÁªÏµ»¹±È½Ï¸´ÔÓ£¬² ......
CÓïÑÔÖпɱä²ÎÊýµÄÓ÷¨
ÎÒÃÇÔÚCÓïÑÔ±à³ÌÖлáÓöµ½Ò»Ð©²ÎÊý¸öÊý¿É±äµÄº¯Êý,ÀýÈçprintf()
Õâ¸öº¯Êý,ËüµÄ¶¨ÒåÊÇÕâÑùµÄ:
int printf( const char* format, ...);
Ëü³ýÁËÓÐÒ»¸ö²ÎÊýformat¹Ì¶¨ÒÔÍâ,ºóÃæ¸úµÄ²ÎÊýµÄ¸öÊýºÍÀàÐÍÊÇ
¿É±äµÄ,ÀýÈçÎÒÃÇ¿ÉÒÔÓÐÒÔϲ»Í¬µÄµ÷Ó÷½·¨:
printf("%d",i);
printf("%s",s);
printf( ......