Objective C ¿ìËÙÈëÃÅÊ«
CûÓÐÀà
ÕâÈÃÈËºÜÆ£±¹
¶ÔÏóµÄ˵·¨ºÜʱ÷Ö
²»¾ÍÊǼ̳зâ×°×éºÏÈËÈË»á
ÓÒ×ßÊÇC++£¬Õâ¸ö´óÖÚ¶¼ÊìϤËü
×ó×ß¾ÍÊÇobjective-c£¬¶ãÔÚÆ§¾²Æ§¾²µÄÂó½ðËþ
±¾ÊÇͬ¸ùÉúµÄC
ÈçºÎ¸ß¾ÙÃæÏò¶ÔÏóµÄ´óÆì
Çóͬ´æÒì±êÐÂÁ¢ÒìÇÒÌýһһϸ·ÖÇå
¶ÔÏóµÄC
ÊDz»Í¬µÄC
ÀàµÄ´¦ÀíÓëÖÚ²»Í¬Öصã񻂿·Ö
²»Öظ´ÊÇÎҵĿÚÍ·ìø
ÈκÎʱºòÎÒֻ˵һ´Î¸æËßÄãÎҵĵØÅÌ
[@begincommand] | @end¾ÍÊÇÎÒµÄָʾ
@interface classname ÉùÃ÷Àà
@implementation classname ʵÏÖÀà
@protocol interfacename ÉùÃ÷½Ó¿Ú
¾ÍÊÇÕâô¼òµ¥£¬ÄãµÄÒ»¶¨ÒªÃ÷°×
ÎÒÏÈÉùÃ÷¶Ô³ÉÔ±±äÁ¿ºÍ·½·¨µÄ¹ØÏµÓÐÔ¶½ü
³ÉÔ±±äÁ¿´ó´óÀ¨ÔÚÎҵϳ
¹ØÏµÔ¶½ü public / protected / private À´Çø·Ö
Èô²»ÉùÃ÷ȫĬĬÊÜ×ű£»¤
¾²Ì¬³ÉÔ±±äÁ¿Çë²»Òª·ÅÔÚ´Ë
³ÉÔ±·½·¨ÎÒ²»Ì«°®
Ç°ÃæË©×ÅÉþ×ÓÖÃÓÚÀàµÄ±äÁ¿ÁбíÍâ
¼õºÅ¾ÍÊÇÆÕͨº¯Êý
¼ÓºÅ¾ÍÊǾ²Ì¬º¯ÊýιÖ
º¯ÊýµÄÉùÃ÷Óеã¹Ö
ÎÒÒªÒ»Ñ۽гöÃû£¬°üÀ¨º¯ÊýÃûºÍ²ÎÊýÃû
ÆäÓàµÄÀàÐÍÀ¨ÆðÀ´£¬ÎÒÓпÕÔÙÀ´ÂýÂý¿´
º¯ÊýÃûºÍ²ÎÊýÃûÖ®¼äÓ㺷ָô¿ª
¶à¸ö²ÎÊýµÄº¯ÊýÄǾÍÊǸü¹Ö
¶ººÅÆäʵ²»ÊÇÎҵİ®
ºóÐøµÄÿ¸ö²ÎÊý·Ö¸ôÓÿհ×
ÿ¸ö²ÎÊýÐÎʽÈç ±êÇ©£º(²ÎÊýÀàÐÍ)²ÎÊýÃû
ÆäʵֻҪ°Ñº¯ÊýÃû¿´×÷ÊǵÚÒ»¸ö²ÎÊý±êÇ©
Äã¾ÍÄÜÁìÎòÆäÖеİÂÃî²¢ÔÚµ÷ÓÃʱϲ°®
³ÉÔ±·½·¨Ì«¶àÎÒ²ÅÀÁµÃÇø·ÖÇ×ÊèÔ¶½ü
ËüÃÇÒ»Âɶ¼Êǹ«Ö®ÓÚÖÚÒªºÃºÃµÄ¸É»î
ËÈô²»·þµ¨¸Ò³öÍ··¸ÉÏ
¾ÍÌß³öÍ·Îļþ´òÈëÀ乬ÓÀÊÀ²»ÄÜÂ¶ÃæÊÔÊÔ¿´
ËùÓеijÉÔ±·½·¨¶¼ÊÇÐ麯Êý
¸ÄÔòÖØÔØ£¬²»¸Ä¾Í¼Ì³Ð
²»ÓÃÈκαê¼ÇÇë·ÅÐÄ´óµ¨Ëæ±ãʹÓÃ
¶ÔÏóµÄÀ࣬Ôڼ̳вã´ÎÉÏ¿¼ÂDzÅÏÔµÃÖØÒª
ËùÓеÄÀà×îÖÕ¶¼¼Ì³ÐÓÚNSObject
ÒòΪËü¸øÄã´´½¨×Ô¼ºÉúÃüµÄ·½·¨
²»¼Ì³ÐÓÚNSObjectµÄÖ»ÄÜÊǽӿÚprotocol
ËüûÓгÉÔ±±äÁ¿Ö»Óз½·¨
ËüÖ»ÓÐÉùÃ÷²»ÓÃʵÏÖ
ÕâµãºÍjavaºÜÏàËÆ
µ±È»À໹ÓÐһЩ¾ø»î¿ÉÒÔÈÃÄ㿪¿ªÑÛ
¿ÉÒÔ¶¯Ì¬µÄÀ©³äÒ»¸öÀà ¶ø²»×ÜÊÇÓü̳Ð
@interface CClassA(Category)|@end
@implementation CClassA (Category)|@end
Ô´´úÂëÍâ°üº¬¸Ã ÀàµÄÍ·Îļþ
¾Í¿ÉÒÔʹÓøÃCategoryÖеķ½·¨
Ò²¿ÉÒÔ¶¯Ì¬µÄÌæ»»Ò»¸öÀà
µ«ÊÇÖ»ÏÞÓÚÓü̳ÐÀàÀ´Ìæ»»»ùÀ๦ÄÜ
[CInheritClass poseAsClass: [CBaseClass class]];
ÉùÃ÷Ö®ºóÓûùÀà´´½¨µÄ¶ÔÏóʵ¼ÊÉÏÐÐΪ¶¼ÊǼ̳ÐÀà
ËùÒÔÒ»¸öÀàµÄÍêÕûÉùÃ÷ÈçÏ£º
@interface CClassA(Category): CBaseClass<IA,IB...>
Àà±ð£¬»ùÀ࣬½Ó¿ÚÒ»Ò»¾ßÈ«
¼ÓÉϾ²Ì¬ Ð麯Êý
ËùÓÐÌØÐÔºÍC++¾ù¿É¶ÔÓ¦
ÔÙ¼ÓÉÏËù¶ÀÓеÄÌØÐÔ
ÕâÒ»ÌØÐÔ
Ïà¹ØÎĵµ£º
1.3 µ¥Ôª²âÊÔÄܲúÉúÄÄÐ©Ð§Òæ£¿
µ¥Ôª²âÊÔµÄÐ§ÒæÒѾµÃµ½¹ã·ºµÄÈÏͬ£¬ÏÖÔÚµÄÎÊÌâÒѾ²»ÊÇÓÐûÓбØÒª×ö£¬Öµ²»ÖµµÃ×ö£¬¶øÊÇÈçºÎ¶à¿ìºÃÊ¡µØ×öºÃµ¥Ôª²âÊÔ£¬ËùÒÔ£¬¹ØÓÚÐ§Òæ£¬ÕâÀïÖ»ÊǼòµ¥µÄ½éÉÜһϡ£
Ð§ÒæÒ»£¬±£Ö¤´úÂëÖÊÁ¿
Ö»Óе¥Ôª²âÊÔ²ÅÄÜÍêÕû¼ì²â´úÂëµ¥ÔªµÄ¹¦Ä ......
extern "C"
Ŀ¼
¸ÅÊö ±àÒ뷽ʽ ϰ¹ßÓ÷¨
¸ÅÊö
¡¡¡¡extern "C" °üº¬Ë«Öغ¬Ò壬´Ó×ÖÃæÉϼ´¿ÉµÃµ½£ºÊ×ÏÈ£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“extern”µÄ£»Æä´Î£¬±»ËüÐÞÊεÄÄ¿±êÊÇ“C”µÄ¡£ÈÃÎÒÃÇÀ´Ïêϸ½â¶ÁÕâÁ½Öغ¬Òå¡£
¡¡¡¡£¨1£© ±»extern "C"ÏÞ¶¨µÄº¯Êý»ò±äÁ¿ÊÇexternÀàÐ͵Ä
¡¡¡¡externÊÇC/C++ÓïÑÔÖбíÃ÷º¯Ê ......
CPU£ºs3c2410
OS£ºLinux Kernel 2.6.30.4
×î½ü¸Õ×öÍêµÄǶÈëʽ¼üÅ̵ÄÇý¶¯£¬ÓÉÓÚ³õ´Î½Ó´¥£¬×ܽáһϡ£
Ê×Ïȼòµ¥ËµËµÕâ¸ö¼üÅ̵ÄʵÏÖÔÀí£¬IIC×ÜÏß¹¤×÷ÔÀíû±ØÒª·Ï»°£¬s3c2410µÄÊÖ²áÖн²µÄºÜÃ÷°×¡£Ó²¼þ·½ÃæÕâ¸ö¼üÅÌͨ¹ýÒ»¸öAVRµ¥Æ¬»ú£¨ATMEGA48£©½ÓÔÚIIC×ÜÏßÉÏ£¬Ò²¾ÍÊÇ˵£¬Ö±½ÓÓëIIC×ÜÏßÁ´½ÓµÄÉ豸²¢²»ÊÇÎÒÃÇÓõļüÅÌ£¬¶øÊÇ ......
µÚ8ÕÂ:ÔÙÂÛÊý×é
1.ʲôʱºòÊý×éºÍÖ¸ÕëÊÇÏàͬµÄ
CÓïÑÔ±ê×¢¶Ô´Ë×÷ÁËÈçÏÂ˵Ã÷:
¹æÔò1: ±í´ïʽÖеÄÊý×éÃû(ÓëÉùÃ÷²»Í¬)±»±àÒëÆ÷µ±×÷Ò»¸öÖ¸Ïò¸ÃÊý×éµÚÒ»¸öÔªËØµÄÖ¸Õë.
int a[10], *p, i=2;
¿ÉÒÔͨ¹ýÒÔÏÂÈκÎÒ»ÖÖ·½·¨·ÃÎÊa[i];
p = a; p[i];
p = a; *(p+a);
p = a + i; *p
ÔÚ±í´ïʽÖÐ,Ö¸ÕëºÍÊý×éÊÇ¿ÉÒÔ»¥»»µÄ,ÒòΪËüÃÇÔÚ± ......
ÔÚLinuxÓÃc±à³Ì£¬ºÜ¶àʱºò¶¼»áÅöµ½½á¹¹ÌåÕâ¸ö¸ÅÄÓÈÆäÊÇʹÓÃÖ¸Õë·ÃÎʽṹÌå³ÉÔ±¡££¨ÏÂÃæµÄÎÄ×Ö½éÉÜ£¬Çë²Î¿¼´úÂëÀí½â£©
1. ʹÓÃÒ»¸öÐÂÔËËã·û£º->,Õâ¸öÔËËã·ûÓÐÒ»¸öÁ¬½ÓºÅ£¨-£©ºó¸úÒ»¸ö´óÓÚ·ûºÅ£¨>£©×é³É
&nbs ......