¿É±äÄ¿±êC±àÒëÆ÷ µÚ4Õ ÀàÐÍ
C³ÌÐòÖоßÓзḻµÄÊý¾ÝÀàÐÍ£¬°üÀ¨ÉùÃ÷ÖÐÏÔʽ¶¨ÒåµÄÀàÐͺÍÓÃ×ö±í´ïʽÖмäÀàÐ͵ĵ¼³öÀàÐÍ¡£ÀýÈ磬ÏÂÃæµÄ¸³ÖµÓï¾ä°üº¬3 ÖÖ²»Í¬ÀàÐÍ:
int *p, x;
*p = x;
xÊÇÒ»¸ö´æ·ÅÕûÊýµÄµ¥ÔªµÄµØÖ·£¬Òò´ËxµÄµØÖ·µÄÀàÐÍÊÇ£ºÖ¸ÏòÒ»¸öÕûÊýµÄÖ¸Õë¡£xµÄÖµµÄÀàÐÍÊÇÕûÐÍ¡£Í¬Ñù, pµÄ×óÖµµÄÀàÐÍÊÇÖ¸ÏòÒ»¸öÕûÊýµÄÖ¸ÕëµÄÖ¸Õ룬pµÄÓÒÖµµÄÀàÐÍÊÇÖ¸ÏòÒ»¸öÕûÊýµÄÖ¸Õ룬*pµÄÀàÐÍÊÇÕûÊý¡£lccÔÚ±àÒ븳ֵÓï¾äʱ±ØÐë´¦ÀíËùÓÐÕâЩÀàÐÍ¡£
lccʵÏÖÁËÀàÐͱíʾºÍÒ»×é¸Ã±íʾ֮Éϵĺ¯Êý£¬±¾Õ½«¶Ô´Ë½øÐнéÉÜ¡£º¯Êý°üÀ¨´´½¨ÀàÐ͵ÄÀàÐ͹¹Ô캯ÊýÒÔ¼°²âÊÔÀàÐÍ µÄÀàÐͶÏÑÔº¯Êý¡£lcc»¹±ØÐëʵÏÖÀàÐͼì²é£¬È·±£ÉùÃ÷ºÍ±í´ïʽ×ñÊØÓïÑÔÖÆ¶¨µÄ¹æÔò¡£ÀàÐͼì²éʹÓñ¾Õ½éÉܵĶÏÑÔº¯Êý£¬Ïêϸ²Î¼ûµÚ9Õº͵Ú11Õ¡£
4.1 ÀàÐͱíʾ
CÓïÑÔµÄÀàÐÍͨ³£ÓÃÓ¢ÎĵÄǰ׺ÐÎʽÃè»æ£¬Ëùνǰ׺ÐÎʽ£¬¾ÍÊÇÖ¸ÀàÐͲÙ×÷ÊýÔÚÀàÐͲÙ×÷·ûÖ®ºó³öÏÖ¡£ÀýÈ磬int *pÉùÃ÷pÊÇÒ»¸öÖ¸ÏòintµÄÖ¸Õë,¾ÍÊÇCÀàÐÍint*µÄǰ׺±íʾ£¬Ö¸ÕëÊDzÙ×÷·û£¬intÊDzÙ×÷Êý£¬Í¬Ñù£¬char*(*strings)[10]½«strings˵Ã÷Ϊ:
Ò»¸öÖ¸Õ룬ָÏò
Ò»¸ö´óСΪ10µÄÊý×飬ÿ¸öÊý×éÔªËØÊÇÒ»¸ö
Ö¸Õ룬ָÏò
×Ö·û
²Ù×÷ÊýÔÚËüÃǸ÷×ԵIJÙ×÷·ûÏÂÒÔ½×ÌÝ·½Ê½Ëõ½ø¡£
±íʾÕâÖÖǰ׺ÀàÐ͹淶µÄ·½·¨ÓкܶࡣÀýÈ磬һЩÀϵÄC±àÒëÆ÷ʹÓÃλ´®À´±íʾ£¬ÀàÐͲÙ×÷·ûºÍ»ù±¾ÀàÐÍÓÃÈô¸Éλ±àÂ롣λ´®±íʾ·Ç³£½ô´Õ²¢Ò×ÓÚ²Ù×÷£¬µ«ÊÇÒ»°ã»á¶Ô»ù±¾ºÍ²Ù×÷·ûµÄÊýÄ¿×öÒ»¶¨ÏÞÖÆ£¬²¢ÇÒ²»ÄÜÓµÓбíʾ´óСµÄÊý¾Ý£¬ÀýÈç²»ÄܱíʾÊý×éµÄ´óС¡£
lcc ͨ¹ýÄÜ·´Ó³ÀàÐ͵Äǰ׺¹æ·¶µÄÁ´½Ó½á¹¹À´±íʾÀàÐÍ£¬ÀàÐͽڵ㶨ÒåÈçÏ£º
(types.c typedefs) =
typedef struct type * Type;
(types.c exported types) =
struct type {
int op;
Type type;
int align;
int size;
&
Ïà¹ØÎĵµ£º
½ñÌìΪÁ˸ø¶¥Ç¶±×ö×¼±¸Óֻص½linuxÏ¿ªÊ¼c±à³ÌÁË¡£¸Õ¿ªÊ¼ÊÇÁ·Ï°Ð´Ò»¸öÓë¾ØÕó±ä»»ÓйصijÌÐò£¬ÎªÁ˽Úʡʱ¼äÓÐÒ»¸öº¯ÊýÄ£¿éÊÇÖ±½ÓÓõÄÒÔǰÔÚwindowsϱà³ÌʱËùʹÓõġ£½á¹ûÔÚlinuxϱàÒëÍêÔËÐÐÖ®ºóºÜ¿ì¾Í±ÀÀ£ÁË£¬ÓÉÓÚµ÷ÊÔˮƽ²»¸ßŪÁ˺ܾÃÒ²²»Öªµ½ÎÊÌâ³öÔÚÄÄÀï¡£ÕýÔÚ°Ù˼²»µÃÆä½âʱºöÈ»×¢Òâµ½£¨µ±È»²»ÊÇ×Ô¼ºµ÷ÊÔ³öÀ´µÄ ......
ʹÓÃKeil Cµ÷ÊÔijϵͳʱ»ýÀÛµÄһЩ¾Ñé
1¡¢ÔÚWindows2000ÏÂÃæ£¬ÎÒÃÇ¿ÉÒÔ°Ñ×ÖÌåÉèÖÃΪCourier£¬ÕâÑù¾Í¿ÉÒÔÏÔʾÕý³£¡£
2¡¢µ±Ê¹ÓÃÓÐÆ¬ÍâÄÚ´æµÄMCU£¨ÈçW77E58£¬ËüÓÐ1KƬÍâÄڴ棩µÄʱºò£¬¿Ï¶¨ÒªÉèÖñê־룬²¢ÇÒ±àÒ뷽ʽҪѡÔñ´óģʽ£¬·ñÔò»á³ö´í¡£
3¡¢µ±Ê¹ÓÃKeil C¸ú×Ù³ÌÐòÔËÐÐ״̬µÄʱºò£¬Òª°ÑÒýÆðWarningµÄÓï¾äÆÁ±Î£ ......
Q:ʲôÊÇC·ç¸ñת»»£¿Ê²Ã´ÊÇstatic_cast, dynamic_cast ÒÔ¼° reinterpret_cast£¿Çø±ðÊÇʲô£¿ÎªÊ²Ã´Òª×¢Ò⣿
A:ת»»µÄº¬ÒåÊÇͨ¹ý¸Ä±äÒ»¸ö±äÁ¿µÄÀàÐÍΪ±ðµÄÀàÐÍ´Ó¶ø¸Ä±ä¸Ã±äÁ¿µÄ±íʾ·½Ê½¡£ÎªÁËÀàÐÍת»»Ò»¸ö¼òµ¥¶ÔÏóΪÁíÒ»¸ö¶ÔÏóÄã»áʹÓô«Í³µÄÀàÐÍת»»²Ù×÷·û¡£±ÈÈ磬ΪÁËת»»Ò»¸öÀàÐÍΪdouboleµÄ¸¡µãÊýµÄÖ¸Õëµ½ÕûÐÍ£º
......
ACE×ÔÊÊÅäͨÐÅ»·¾³£¨ADAPTIVE Communication Environment£©ÊÇ¿ÉÒÔ×ÔÓÉʹÓᢿª·ÅÔ´ÂëµÄÃæÏò¶ÔÏó£¨OO£©¿ò¼Ü£¨Framework£©£¬ÔÚÆäÖÐʵÏÖÁËÐí¶àÓÃÓÚ²¢·¢Í¨ÐÅÈí¼þµÄºËÐÄģʽ¡£ACEÌṩÁËÒ»×é·á¸»µÄ¿É¸´ÓÃC++ Wrapper Facade£¨°ü×°Íâ¹Û£©ºÍ¿ò¼Ü×é¼þ£¬¿É¿çÔ½¶àÖÖÆ½Ì¨Íê³ÉͨÓõÄͨÐÅÈí¼þÈÎÎñ£¬ÆäÖаüÀ¨£ºÊ¼þ¶à··ÖÀëºÍʼþ´¦À ......
1£®ÒÑÖªstrcpy º¯ÊýµÄÔÐÍÊÇ£º
char *strcpy(char *strDest, const char *strSrc);
ÆäÖÐstrDest ÊÇÄ¿µÄ×Ö·û´®£¬strSrc ÊÇÔ´×Ö·û´®¡£²»µ÷ÓÃC++/C µÄ×Ö·û´®¿âº¯Êý£¬Çë±àдº¯Êý strcpy
´ð°¸£º
char *strcpy(char *strDest, const char *strSrc)
{
if ( strDest == NULL || strSrc == NULL)
return NULL ;
if ( strDest ......