ÁËCÈ»ºóC++£¬È»ºóMFC/Windows,È»ºóÊÇC#,ÆäÖÐÊý¾ÝÀàÐͺܶ࣬ÓÉ»ù±¾ÀàÐÍÑÜÉúµÄtypedefÀàÐÍÒ²N¶à¡£ÊìÖª»ù±¾Êý¾ÝÀàÐÍÊÇÎÒÃÇÕýÈ·±í´ïʵ¼ÊÎÊÌâÖи÷ÖÖÊý¾ÝµÄǰÌᣬÒò´ËÎÒ·ÖÀà×ܽáÁËÒ»ÏÂC/C++/Windows /C#»ù±¾Êý¾ÝÀàÐÍ£¬ÒÔ±ãÈÕºó²éÔÄ¡£
ANSI C/C++»ù±¾Êý¾ÝÀàÐÍ£º
Type
Size
ÊýÖµ·¶Î§
ÎÞÖµÐÍvoid
0 byte
ÎÞÖµÓò
²¼¶ûÐÍbool
1 byte
true false
ÓзûºÅ¶ÌÕûÐÍshort [int] /signed short [int]
2 byte
-32768~32767
ÎÞ·ûºÅ¶ÌÕûÐÍunsigned short [int]
2 byte
0~65535
ÓзûºÅÕûÐÍint /signed [int]
4 byte
-2147483648~2147483647
ÎÞ·ûºÅÕûÐÍunsigned [int]
4 byte
0~4294967295
ÓзûºÅ³¤ÕûÐÍlong [int]/signed long [int]
4 byte
-2147483648~2147483647
ÎÞ·ûºÅ³¤ÕûÐÍunsigned long [int]
4 byte
0~4294967295
long long
8 byte
0~18446744073709552000
ÓзûºÅ×Ö·ûÐÍchar/signed char
1 byte
-128~127
ÎÞ·ûºÅ×Ö·ûÐÍunsigned char
1 byte
0~255
¿í×Ö·ûÐÍwchar_t (unsigned short.)
2 byte
0~65535
µ¥¾«¶È¸¡µãÐÍfloat
4 byte
-3.4E-38~ ......
ÁËCÈ»ºóC++£¬È»ºóMFC/Windows,È»ºóÊÇC#,ÆäÖÐÊý¾ÝÀàÐͺܶ࣬ÓÉ»ù±¾ÀàÐÍÑÜÉúµÄtypedefÀàÐÍÒ²N¶à¡£ÊìÖª»ù±¾Êý¾ÝÀàÐÍÊÇÎÒÃÇÕýÈ·±í´ïʵ¼ÊÎÊÌâÖи÷ÖÖÊý¾ÝµÄǰÌᣬÒò´ËÎÒ·ÖÀà×ܽáÁËÒ»ÏÂC/C++/Windows /C#»ù±¾Êý¾ÝÀàÐÍ£¬ÒÔ±ãÈÕºó²éÔÄ¡£
ANSI C/C++»ù±¾Êý¾ÝÀàÐÍ£º
Type
Size
ÊýÖµ·¶Î§
ÎÞÖµÐÍvoid
0 byte
ÎÞÖµÓò
²¼¶ûÐÍbool
1 byte
true false
ÓзûºÅ¶ÌÕûÐÍshort [int] /signed short [int]
2 byte
-32768~32767
ÎÞ·ûºÅ¶ÌÕûÐÍunsigned short [int]
2 byte
0~65535
ÓзûºÅÕûÐÍint /signed [int]
4 byte
-2147483648~2147483647
ÎÞ·ûºÅÕûÐÍunsigned [int]
4 byte
0~4294967295
ÓзûºÅ³¤ÕûÐÍlong [int]/signed long [int]
4 byte
-2147483648~2147483647
ÎÞ·ûºÅ³¤ÕûÐÍunsigned long [int]
4 byte
0~4294967295
long long
8 byte
0~18446744073709552000
ÓзûºÅ×Ö·ûÐÍchar/signed char
1 byte
-128~127
ÎÞ·ûºÅ×Ö·ûÐÍunsigned char
1 byte
0~255
¿í×Ö·ûÐÍwchar_t (unsigned short.)
2 byte
0~65535
µ¥¾«¶È¸¡µãÐÍfloat
4 byte
-3.4E-38~ ......
B/S½á¹¹£¨Browser/Server½á¹¹£©½á¹¹¼´ä¯ÀÀÆ÷ºÍ·þÎñÆ÷½á¹¹¡£
1.½ÚÔ¼³É±¾~~~~~
´ó´ó¼ò»¯Á˿ͻ§¶ËµçÄÔÔØºÉ£¬¼õÇáÁËϵͳά»¤ÓëÉý¼¶µÄ³É±¾ºÍ¹¤×÷Á¿£¬½µµÍÁËÓû§µÄ×ÜÌå³É±¾£¨TCO)!ËüÊÇÒ»´ÎÐÔµ½Î»µÄ¿ª·¢!
2.°²È«~~~
ËüÄÜÓÐЧµØ±£»¤Êý¾Ýƽ̨ºÍ¹ÜÀí·ÃÎÊȨÏÞ£¬·þÎñÆ÷Êý¾Ý¿âÒ²ºÜ°²È« ¡£ÔÚÍøÂç¸÷¹¤×÷վͨ¹ýWWWä¯ÀÀÆ÷¾ÍÄÜʵÏÖ¹¤×÷ÒµÎñ¡£
3.·½±ã~~~
B/S½á¹¹×î´óµÄÓŵã¾ÍÊÇ¿ÉÒÔÔÚÈκεط½½øÐвÙ×÷¶ø²»Óð²×°ÈκÎרÃŵÄÈí¼þ¡£B/S¼Ü¹¹µÄÈí¼þÖ»ÐèÒª¹ÜÀí·þÎñÆ÷¾ÍÐÐÁË£¬ËùÓеĿͻ§¶ËÖ»ÊÇä¯ÀÀÆ÷£¬¸ù±¾²»Ðè
Òª×öÈκεÄά»¤¡£Ö»ÒªÓÐһ̨ÄÜÉÏÍøµÄµçÄÔ¾ÍÄÜʹÓ㬿ͻ§¶ËÁãά»¤¡£ÏµÍ³µÄÀ©Õ¹·Ç³£ÈÝÒ×£¬Ö»ÒªÄÜÉÏÍø£¬ÔÙÓÉϵͳ¹ÜÀíÔ±·ÖÅäÒ»¸öÓû§ÃûºÍÃÜÂ룬¾Í¿ÉÒÔʹÓÃÁË¡£
ÉõÖÁ¿ÉÒÔÔÚÏßÉêÇ룬ͨ¹ý¹«Ë¾ÄÚ²¿µÄ°²È«ÈÏÖ¤£¨ÈçCAÖ¤Ê飩ºó£¬²»ÐèÒªÈ˵IJÎÓ룬ϵͳ¿ÉÒÔ×Ô¶¯·ÖÅ䏸Óû§Ò»¸öÕ˺ŽøÈëϵͳ¡£Õâ¶ÔÓû§ÈËÁ¦¡¢ÎïÁ¦¡¢Ê±¼ä¡¢·ÑÓÃ
µÄ½ÚÊ¡ÊÇÏÔ¶øÒ×¼ûµÄ£¬¾ªÈ˵ġ£
4.³É±¾½µµÍ£¬Ñ¡Ôñ¸ü¶à~~~
´ó¼Ò¶¼ÖªµÀwindowsÔÚ×ÀÃæµçÄÔÉϼ¸ºõһͳÌìÏ£¬ä¯ÀÀÆ÷³ÉΪÁ˱ê×¼ÅäÖ㬵«ÔÚ·þÎñÆ÷²Ù×÷ϵͳÉÏwindows²¢²»ÊÇ´¦ÓÚ¾ø¶ÔµÄͳÖεØÎ»¡£
ÏÖÔÚµÄÇ÷ÊÆÊÇ·²Ê¹ÓÃB/S¼Ü¹¹µÄÓ¦ÓùÜÀíÈí¼þ£¬Ö»Ðè°²×°ÔÚLinux·þÎñÆ÷Éϼ´¿É£¬¶øÇÒ°²È« ......
int arr[]={6,7,8,9,10};
int *ptr=arr;
*(ptr++)+=123;
printf("%d,%d",*ptr,*(++ptr));
´ËÌâ×îºóµÄ½á¹ûÊÇ8£¬8.
Õ§¿´½á¹ûÓ¦¸ÃÊÇ7ºÍ8¡£
ÔÀí£º
ÒòΪËüÃÇ×÷ΪprintfµÄ²ÎÊý£¬º¯Êýprintf´Ó×óÍùÓÒ¶ÁÈ¡£¬È»ºó½«ÏȶÁÈ¡·Åµ½Õ»µ×£¬×îºó¶ÁÈ¡µÄ·ÅÔÚÕ»¶¥£¬´¦ÀíʱºòÊÇ´ÓÕ»¶¥¿ªÊ¼µÄ£¬ËùÓÐÎÒÃÇ¿´¼ûµÄ½á¹ûÊÇ£¬´ÓÓұ߿ªÊ¼´¦ÀíµÄ¡£ ......
ÄÚÈÝÕªÒª£º±¾ÎÄÏêϸϵͳµØ½éÉÜÁËuC/OS-IIÔÚ51µ¥Æ¬»úÉϵÄÒÆÖ²¡¢ÖØÈëʵÏÖ·½·¨¡¢Ó²¼þ·ÂÕæ¡¢¹Ì»¯¡¢ÈË»ú½çÃæµÈ¹Ø¼üÄÚÈÝ¡£
¹Ø¼ü´Ê£ºÇ¶Èëʽʵʱ¶àÈÎÎñ²Ù×÷ϵͳ¡¢uC/OS-II¡¢C51
ÒýÑÔ£º
Ëæ×Ÿ÷ÖÖÓ¦Óõç×ÓϵͳµÄ¸´ÔÓ»¯ºÍϵͳʵʱÐÔÐèÇóµÄÌá¸ß£¬²¢°éËæÓ¦ÓÃÈí¼þ³¯×Åϵͳ»¯·½Ïò·¢Õ¹µÄ¼ÓËÙ£¬ÔÚ16λ/32λµ¥Æ¬»úÖй㷺ʹÓÃÁËǶÈëʽʵʱ²Ù×÷ϵͳ¡£È»¶øÊµ¼ÊʹÓÃÖÐÈ´´æÔÚ×Å´óÁ¿8λµ¥Æ¬»ú£¬´Ó¾¼ÃÐÔ¿¼ÂÇ£¬¶ÔijЩӦÓó¡ºÏ£¬ÔÚ8λMCUÉÏʹÓòÙ×÷ϵͳÊÇ¿ÉÐеġ£´Óѧϰ²Ù×÷ϵͳ½Ç¶È£¬uC/OS-II for 51¼´¼òµ¥ÓÖÈ«Ãæ£¬Ñ§Ï°³É±¾µÍÁ®£¬ÖµµÃÍÆ¹ã¡£
½áÓμC/OS-II¾ßÓÐÃâ·Ñ¡¢¼òµ¥¡¢¿É¿¿ÐԸߡ¢ÊµÊ±ÐԺõÈÓŵ㣬µ«Ò²ÓÐȱ·¦±ãÀû¿ª·¢»·¾³µÈȱµã£¬ÓÈÆä²»ÏñÉÌÓÃǶÈëʽϵͳÄÇÑùµÃµ½¹ã·ºÊ¹ÓúͳÖÐøµÄÑо¿¸üС£µ«¿ª·ÅÐÔÓÖʹµÃ¿ª·¢ÈËÔ±¿ÉÒÔ×ÔÐвüõºÍÌí¼ÓËùÐèµÄ¹¦ÄÜ£¬ÔÚÐí¶àÓ¦ÓÃÁìÓò·¢»Ó×ŶÀÌØµÄ×÷Óᣵ±È»£¬ÊÇ·ñÔÚµ¥Æ¬»úϵͳÖÐǶÈëμC/OS-IIÓ¦ÊÓËù¿ª·¢µÄÏîÄ¿¶ø¶¨£¬¶ÔÓÚһЩ¼òµ¥µÄ¡¢µÍ³É±¾µÄÏîÄ¿À´Ëµ£¬¾Íû±ØÒªÊ¹ÓÃǶÈëʽ²Ù×÷ϵͳÁË¡£
uC/OS-IIÔÀí£º
uCOSII°üÀ¨ÈÎÎñµ÷¶È¡¢Ê±¼ä¹ÜÀí¡¢ÄÚ´æ¹ÜÀí¡¢×ÊÔ´¹ÜÀí£¨ÐźÅÁ¿¡¢ÓÊÏä¡¢ÏûÏ¢¶ÓÁУ©ËĴ󲿷֣¬Ã»ÓÐÎļþ ......
1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ºÍº¯Êý¡£µ«ÊÇ£¬C++±Ï¾¹ÊÇÒ»ÖÖÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼ÆÓïÑÔ£¬ÎªÁËÖ§³Öº¯ÊýµÄÖØÔØ£¬C++¶ÔÈ«¾Öº¯ÊýµÄ´¦Àí·½Ê½ÓëCÓÐÃ÷ÏԵIJ»Í¬¡£
2.´Ó±ê׼ͷÎļþ˵Æð
ijÆóÒµÔø¾¸ø³öÈçϵÄÒ»µÀÃæÊÔÌ⣺Ϊʲô±ê׼ͷÎļþ¶¼ÓÐÀàËÆÒÔϵĽṹ£¿
#ifndef __INCvxWorksh
#define __INCvxWorksh
#ifdef __cplusplus
extern "C" {
#endif
/*...*/
#ifdef __cplusplus
}
#endif
#endif /* __INCvxWorksh */
ÏÔÈ»£¬Í·ÎļþÖеıàÒëºê“#ifndef __INCvxWorksh¡¢#define __INCvxWorksh¡¢#endif” µÄ×÷ÓÃÊÇ·ÀÖ¹¸ÃÍ·Îļþ±»Öظ´ÒýÓá£ÄÇô
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
µÄ×÷ÓÃÓÖÊÇÊ²Ã´ÄØ£¿ÎÒÃǽ«ÔÚÏÂÎÄÒ»Ò»µÀÀ´¡£
3.Éî²ã½ÒÃÜextern "C"
¡¡¡¡extern "C" °üº¬Ë«Öغ¬Ò壬´Ó×ÖÃæÉϼ´¿ÉµÃµ½£ºÊ×ÏÈ£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“extern” ......
1.ÒýÑÔ
¡¡¡¡C++ÓïÑԵĴ´½¨³õÖÔÊÇ“a better C”£¬µ«ÊÇÕâ²¢²»Òâζ×ÅC++ÖÐÀàËÆCÓïÑÔµÄÈ«¾Ö±äÁ¿ºÍº¯ÊýËù²ÉÓõıàÒëºÍÁ¬½Ó·½Ê½ÓëCÓïÑÔÍêÈ«Ïàͬ¡£×÷ΪһÖÖÓûÓëC¼æÈݵÄÓïÑÔ£¬C++±£ÁôÁËÒ»²¿·Ö¹ý³ÌʽÓïÑÔµÄÌØµã£¨±»ÊÀÈ˳ÆÎª“²»³¹µ×µØÃæÏò¶ÔÏ󔣩£¬Òò¶øËü¿ÉÒÔ¶¨Òå²»ÊôÓÚÈκÎÀàµÄÈ«¾Ö±äÁ¿ºÍº¯Êý¡£µ«ÊÇ£¬C++±Ï¾¹ÊÇÒ»ÖÖÃæÏò¶ÔÏóµÄ³ÌÐòÉè¼ÆÓïÑÔ£¬ÎªÁËÖ§³Öº¯ÊýµÄÖØÔØ£¬C++¶ÔÈ«¾Öº¯ÊýµÄ´¦Àí·½Ê½ÓëCÓÐÃ÷ÏԵIJ»Í¬¡£
2.´Ó±ê׼ͷÎļþ˵Æð
ijÆóÒµÔø¾¸ø³öÈçϵÄÒ»µÀÃæÊÔÌ⣺Ϊʲô±ê׼ͷÎļþ¶¼ÓÐÀàËÆÒÔϵĽṹ£¿
#ifndef __INCvxWorksh
#define __INCvxWorksh
#ifdef __cplusplus
extern "C" {
#endif
/*...*/
#ifdef __cplusplus
}
#endif
#endif /* __INCvxWorksh */
ÏÔÈ»£¬Í·ÎļþÖеıàÒëºê“#ifndef __INCvxWorksh¡¢#define __INCvxWorksh¡¢#endif” µÄ×÷ÓÃÊÇ·ÀÖ¹¸ÃÍ·Îļþ±»Öظ´ÒýÓá£ÄÇô
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
µÄ×÷ÓÃÓÖÊÇÊ²Ã´ÄØ£¿ÎÒÃǽ«ÔÚÏÂÎÄÒ»Ò»µÀÀ´¡£
3.Éî²ã½ÒÃÜextern "C"
¡¡¡¡extern "C" °üº¬Ë«Öغ¬Ò壬´Ó×ÖÃæÉϼ´¿ÉµÃµ½£ºÊ×ÏÈ£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“extern” ......
(Ò»)дһ¸ö¼òµ¥µÄ¿É±ä²ÎÊýµÄ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ºê³õʼ» ......