[C/C++ Digestion] – ÖØÔØ²Ù×÷·û
[C/C++ Digestion] –
ÖØÔØ²Ù×÷·û
×÷Õߣº
Jason Lee @
http://blog.csdn.net/jasonblog
ÈÕÆÚ£º
2010-04-17
[1]
ÖØÔØ²Ù×÷·û
ÖØÔØ²Ù×÷·û´Ó´óµÄ·½ÃæÀ´½²¿ÉÒÔ·ÖΪÁ½Àࣺ×îºÃ»ò±ØÐë×÷ΪÀàµÄ³ÉÔ±º¯ÊýµÄ£¬ÒÔ¼°Ïà·´¡£¶ø¾ßÌ嵨½²£¬×îºÃ»ò±ØÐë×÷ΪÀàµÄ³ÉÔ±º¯ÊýµÄÓи³Öµ²Ù×÷·û
( = )
¡¢Ï±ê²Ù×÷·û
( [] )
¡¢µ÷ÓòÙ×÷·û
( () )
¡¢³ÉÔ±·ÃÎʼýÍ·²Ù×÷·û
( ->
£¬Ä¿Ç°ÁгöµÄ²Ù×÷·û¶¼±ØÐëΪ³ÉÔ±º¯Êý
)
¡¢ÐǺŽâÒýÓòÙ×÷·û
( * )
¡¢¸´ºÏ¸³Öµ²Ù×÷·û
( +=
µÈ
)
¡¢×ÔÔö¡¢×Ô¼õ¡£ÆäËüµÄһЩ²Ù×÷·û£¬ÈçËãÊõ²Ù×÷·û¡¢ÏàµÈ²Ù×÷·û¡¢¹ØÏµ²Ù×÷·ûºÍλ²Ù×÷·û£¬×îºÃ¶¨ÒåΪ·Ç³ÉÔ±º¯Êý£¬ÔÚÕâÖÖÇé¿öÏ£¬Í¨³£ÐèÒª½«Æä¶¨ÒåΪÀàµÄÓÑÔªº¯Êý¡£µ±È»£¬»¹ÓÐһЩÊDz»½¨ÒéÖØÔØµÄ²Ù×÷·û£¬È綺ºÅ¡¢È¡µØÖ·ÔËËã·ûºÍÂß¼ÔËËã·ûµÈ¡£
[2]
¸³Öµ²Ù×÷·û
¸³Öµ²Ù×÷·û±ØÐëÊÇÀàµÄ³ÉÔ±º¯Êý£¬ÒòΪ±àÒëÆ÷ÐèÒªÖªµÀÀàÊÇ·ñÓи³Öµ²Ù×÷·ûÕâ¸öÐÅÏ¢¡£²¢ÇÒ£¬¸³Öµ²Ù×÷·û±ØÐë·µ»Ø¶Ô
*this
µÄÒýÓã¬Ò²¾ÍÊÇ×ó²Ù×÷Êý
(
¶ÔÏó×ÔÉí
)
µÄÒýÓá£
ͬÑùµÄ£¬¸´ºÏ¸³Öµ²Ù×÷·ûÒ²Ó¦·µ»Ø¶Ô
*this
µÄÒýÓá£
ÈçÏÂÊÇÒ»¶ÎʾÀý´úÂ룺
#include <iostream>
using namespace std;
class Demo {
public:
Demo():val(0){}
Demo(int t): val(t){}
Demo(const Demo &demo){ val = demo.val; }
~Demo(){}
Demo& operator=(const Demo &demo){
val = demo.val;
return *this;
}
Demo& operator+=(const Demo &demo){
val += demo.val;
return *this;
}
void showVal(){ cout << val << endl; }
private:
int val;
};
int main(){
Demo d1 = 2;// Ê×Ïȵ÷ÓýÓÊÜÕûÐͲÎÊýµÄ¹¹Ô캯Êý´´½¨Ò»¸öÁÙʱ¶ÔÏó£¬ÔÙµ÷Óø´Öƹ¹Ô캯Êý
d1.showVal();
Demo d2;
d2 += d1;// ʹÓø´ºÏ¸³Öµ²Ù×÷·û
d2.showVal();
return 0;
}
ͨ³£¶¨ÒåÁ˸³Öµ²Ù×÷·û£¬ÄÇô½Ó×Ŷ¨Ò叴֯¹¹Ô캯ÊýºÍ¸´ºÏ¸³Öµ²Ù×÷·ûÊDZȽϺÏÀíµÄ¡£½Ó×ÅÓÖΪÁËÌåÏÖ¸´Öƹ¹Ô캯ÊýµÄÔËÓã¬Ö±½ÓÔÚʵÀý»¯
d1
µÄʱºòʹÓÃÁË
Demo d1
= 2;
ÕâÑùµÄÓï¾ä£¬¾ÍÀàËÆ
string
str = “hello”;
Ïȵ÷ÓöÔÓ¦²ÎÊýµÄ¹¹Ô캯Êý´´½¨ÁÙʱ¶ÔÏóÔÙµ÷Óø´Öƹ¹Ô캯Êý¡£
[3]
ϱê²Ù×÷·û
Ïà¹ØÎĵµ£º
Ò»Ö±ÖªµÀÔÚC++ÖÐÓÃextern “C” {
}µ÷ÓÃCÓïÑÔ£¬µ«ÊDz»ÖªµÀΪʲô£¬ËäȻҲ֪µÀ±àÒëÆ÷µÄÃüÃû¹æÔò£¬²»¹ýûÓÐÁªÏëµ½Õâ¸öÉÏÃæ£¬¿´µ½ÕâÆªÎÄÕ£¬²Å»ÐÈ»´óÎò¡£²»¹ý£¬ÒòΪ×Ô¼ºÒ»Ö±ÔÚlinuxÏÂʹ
ÓÃCÓïÑÔ£¬Ã»ÓÐʹÓÃC++µÄ¾ÑéµÄÔµ¹Ê°É£¬Ï£ÍûÒÔºóÄÜÓУ¬ÕâÑù²ÅÄÜÈÚ»á¹áͨ¡£
¹Ø¼üµã£ºº¯ÊýÖØÔØ£¬ÃüÃû¹æÔò
Ò»¡¢C++ÓëC»úÖÆ±àÒëº ......
ÎÒ¶ÔÄÚÈÝ×ö³ö²¿·Öµ÷Õû¡£
ǰЩÌìÓÐÈË·¢ÌûÎÊÈç¹ûÔÚ linux ÏÂÓà eclipse ¿ª·¢
C/C++£¬ËùÒÔÎÒ¾ÍÏëдÕâôһƪÌû×Ó£¬ÒòΪһֱÔÚÓà Eclipse ×ö JAVA
¿ª·¢£¬¶ÔEclipse±È½ÏÊìϤ£¬°²×°²å¼þµ±È»Ò²²»³ÉÎÊÌâ¡£ÎÞÒâÖÐÔÚÍøÉÏ¿´µ½ÕâÆªÌû×Ó£¬¾õµÃдµÄºÜÏêϸ£¬ÎÒÒ²¾Í¾õµÃ×Ô¼ºÃ»ÓбØÒªÔÙÔÚÕâÉÏÃæÀË· ......
ʵÏÖ¹¦ÄÜ£º¸ù¾ÝÅäÖÃÎļþ£¨XXXX.ini£©ÖеÄÄÚÈݶÔXMLÖÐ½Úµã½øÐвÙ×÷£¬Èç¹ûXMLÖдæÔÚÓëÅäÖÃÎļþÖÐÏàͬµÄ½Úµã£¬Ôò¸ù¾ÝÅäÖÃÎļþ½«XMLÎļþÖÐÏàÓ¦½ÚµãµÄÖµ½øÐиüУ»Èç¹ûXMLÎļþÖв»´æÔÚÅäÖÃÎļþÖгöÏֵĽڵ㣬ÔòÔÚXMLÖн«Ð½ڵ㼰ֵ½øÐвåÈë²Ù×÷¡£
¡ôXMLÎĵµ½á¹¹ÈçÏÂ
//------------------------------------------------------ ......
1.3 µ¥Ôª²âÊÔÄܲúÉúÄÄÐ©Ð§Òæ£¿
µ¥Ôª²âÊÔµÄÐ§ÒæÒѾµÃµ½¹ã·ºµÄÈÏͬ£¬ÏÖÔÚµÄÎÊÌâÒѾ²»ÊÇÓÐûÓбØÒª×ö£¬Öµ²»ÖµµÃ×ö£¬¶øÊÇÈçºÎ¶à¿ìºÃÊ¡µØ×öºÃµ¥Ôª²âÊÔ£¬ËùÒÔ£¬¹ØÓÚÐ§Òæ£¬ÕâÀïÖ»ÊǼòµ¥µÄ½éÉÜһϡ£
Ð§ÒæÒ»£¬±£Ö¤´úÂëÖÊÁ¿
Ö»Óе¥Ôª²âÊÔ²ÅÄÜÍêÕû¼ì²â´úÂëµ¥ÔªµÄ¹¦Ä ......
CPU : ARM9 s3c2410
LCD : ¹æ¸ñ²»Ã÷£¨Õâ¸öºÜÎÞÄΣ¬µ«ÊÇÎÒËùÖªµÀµÄÖ»ÓÐÒ»¸ö·Ö±æÂÊ£©
Ô´ÂëÐ޸ģº
/linux-2.6.30.4/arch/arm/mach-s3c2410/mach-smdk2410.c
ÔÚÕâ¸öÎļþÖмÓÈëframebufferµÄ³õʼ»¯Êý¾Ý½á¹¹£¨¾ßÌåÊý¾Ý²ÎÕÕLCD¼¼ÊõÊֲᣩÈçÏ£º
#include <mach/fb.h> ......