Ò»¡¢¸ÅÊö
̸µ½ÔÚlinuxϵͳϱàдI2CÇý¶¯£¬Ä¿Ç°Ö÷ÒªÓÐÁ½ÖÖ·½Ê½£¬Ò»ÖÖÊǰÑI2CÉ豸µ±×÷Ò»¸ö
ÆÕͨµÄ×Ö·ûÉ豸À´´¦Àí£¬ÁíÒ»ÖÖÊÇÀûÓÃlinux I2CÇý¶¯Ìåϵ½á¹¹À´Íê³É¡£ÏÂÃæ±È½ÏÏÂÕâÁ½ÖÖÇý¶¯¡£
µÚÒ»ÖÖ·½·¨µÄºÃ´¦£¨¶ÔÓ¦µÚ¶þÖÖ·½·¨µÄÁÓÊÆ£©ÓУº
¡ñ ˼·±È½ÏÖ±½Ó£¬²»ÐèÒª»¨Ê±¼äÈ¥Á˽âlinuxÄÚºËÖи´ÔÓµÄI2C×ÓϵͳµÄ²Ù×÷·½·¨¡£
µÚÒ»ÖÖ·½·¨ÎÊÌ⣨¶ÔÓ¦µÚ¶þÖÖ·½·¨µÄºÃ´¦£©ÓУº
¡ñ ÒªÇ󹤳Ìʦ²»½öÒª¶ÔI2CÉ豸µÄ²Ù×÷ÊìϤ£¬¶øÇÒÒªÊìϤI2CµÄÊÊÅäÆ÷²Ù×÷£»
¡ñ ÒªÇ󹤳Ìʦ¶ÔI2CµÄÉ豸Æ÷¼°I2CµÄÉ豸²Ù×÷·½·¨¶¼±È½ÏÊìϤ£¬×îÖØÒªµÄÊÇд³öµÄ³ÌÐò¿ÉÒÆÖ²ÐԲ
¡ñ ¶ÔÄں˵Ä×ÊÔ´ÎÞ·¨Ö±½ÓʹÓá£ÒòΪÄÚºËÌṩµÄËùÓÐI2CÉ豸Æ÷¼°É豸Çý¶¯¶¼ÊÇ»ùÓÚI2C×ÓϵͳµÄ¸ñʽ¡£I2CÊÊÅäÆ÷µÄ²Ù×÷¼òµ¥»¹
ºÃ£¬Èç¹ûÓöµ½¸´ÔÓµÄI2CÊÊÅäÆ÷£¨È磺»ùÓÚPCIµÄI2CÊÊÅä ......
Ò»¡¢¸ÅÊö
̸µ½ÔÚlinuxϵͳϱàдI2CÇý¶¯£¬Ä¿Ç°Ö÷ÒªÓÐÁ½ÖÖ·½Ê½£¬Ò»ÖÖÊǰÑI2CÉ豸µ±×÷Ò»¸ö
ÆÕͨµÄ×Ö·ûÉ豸À´´¦Àí£¬ÁíÒ»ÖÖÊÇÀûÓÃlinux I2CÇý¶¯Ìåϵ½á¹¹À´Íê³É¡£ÏÂÃæ±È½ÏÏÂÕâÁ½ÖÖÇý¶¯¡£
µÚÒ»ÖÖ·½·¨µÄºÃ´¦£¨¶ÔÓ¦µÚ¶þÖÖ·½·¨µÄÁÓÊÆ£©ÓУº
¡ñ ˼·±È½ÏÖ±½Ó£¬²»ÐèÒª»¨Ê±¼äÈ¥Á˽âlinuxÄÚºËÖи´ÔÓµÄI2C×ÓϵͳµÄ²Ù×÷·½·¨¡£
µÚÒ»ÖÖ·½·¨ÎÊÌ⣨¶ÔÓ¦µÚ¶þÖÖ·½·¨µÄºÃ´¦£©ÓУº
¡ñ ÒªÇ󹤳Ìʦ²»½öÒª¶ÔI2CÉ豸µÄ²Ù×÷ÊìϤ£¬¶øÇÒÒªÊìϤI2CµÄÊÊÅäÆ÷²Ù×÷£»
¡ñ ÒªÇ󹤳Ìʦ¶ÔI2CµÄÉ豸Æ÷¼°I2CµÄÉ豸²Ù×÷·½·¨¶¼±È½ÏÊìϤ£¬×îÖØÒªµÄÊÇд³öµÄ³ÌÐò¿ÉÒÆÖ²ÐԲ
¡ñ ¶ÔÄں˵Ä×ÊÔ´ÎÞ·¨Ö±½ÓʹÓá£ÒòΪÄÚºËÌṩµÄËùÓÐI2CÉ豸Æ÷¼°É豸Çý¶¯¶¼ÊÇ»ùÓÚI2C×ÓϵͳµÄ¸ñʽ¡£I2CÊÊÅäÆ÷µÄ²Ù×÷¼òµ¥»¹
ºÃ£¬Èç¹ûÓöµ½¸´ÔÓµÄI2CÊÊÅäÆ÷£¨È磺»ùÓÚPCIµÄI2CÊÊÅä ......
C/C++ÊÇ×îÖ÷ÒªµÄ±à³ÌÓïÑÔ¡£ÕâÀïÁгöÁË50ÃûÓÅÐãÍøÕ¾ºÍÍøÒ³Çåµ¥£¬ÕâÐ©ÍøÕ¾Ìṩc/c++Ô´´úÂë¡£Õâ·ÝÇåµ¥ÌṩÁËÔ´´úÂëµÄÁ´½ÓÒÔ¼°ËüÃǵÄС˵Ã÷¡£ÎÒÒѾ¡Á¦°üÀ¨×î¼ÑµÄC/C++Ô´´úÂëµÄÍøÕ¾¡£Õâ²»ÊÇÒ»¸öÍêÕûµÄÇåµ¥£¬ÄúÓн¨Òé¿ÉÒÔÁªÏµÎÒ£¬ÎÒ½«»¶ÓÄúµÄ½¨Ò飬ÒÔ½øÒ»²½¼ÓÇ¿Õâ·½ÃæµÄÇåµ¥¡£
1¡¢http://snippets.dzone.com/tag/c/ --ÊýÒÔǧ¼ÆµÄÓÐÓõÄCÓïÑÔÔ´´úÂëÆ¬¶Î
2¡¢http://www.hotscripts.com/category/c-cpp/scripts-programs/ Hotscripts --ÌṩÊýÒ԰ټƵÄCºÍC++½Å±¾ºÍ³ÌÐò¡£ËùÓгÌÐò¶¼·ÖΪ²»Í¬µÄÀà±ð¡£
3¡¢http://www.planetsourcecode.com/vb/default.asp?lngWId=3 --³¬¹ýÍòÐÐCºÍC++Ãâ·ÑµÄÔ´´úÂë
4¡¢http://freshmeat.net/browse/164/ --³¬¹ý9000¸öC±àдµÄÏîÄ¿¡£
5¡¢http://www.daniweb.com/code/c.html --DANIWEBÌṩµÄʵÓôúÂë¶Î ¡£
6¡¢http://www.programmersheaven.com/tags/C/ --programmersheaven.comÉϵÄC±à³Ì×ÊÔ´¡£
7¡¢http://www.ddj.com/code/ddj.html --Dr. Dobb’s JournalµÄÔ´´úÂë¡£
8¡¢http://www.cprogramming.com/cgi-bin/source/source.cgi --CºÍC + +±à³Ì×ÊÔ´¡£
9¡¢http://www.codecogs.com/ --CodeCogsÊÇÒ»ÏîÐ×÷µÄ¿ª·ÅÔ´Âë¿â£¬C/C++µÄÊýÖµ·½ ......
C/C++ÊÇ×îÖ÷ÒªµÄ±à³ÌÓïÑÔ¡£ÕâÀïÁгöÁË50ÃûÓÅÐãÍøÕ¾ºÍÍøÒ³Çåµ¥£¬ÕâÐ©ÍøÕ¾Ìṩc/c++Ô´´úÂë¡£Õâ·ÝÇåµ¥ÌṩÁËÔ´´úÂëµÄÁ´½ÓÒÔ¼°ËüÃǵÄС˵Ã÷¡£ÎÒÒѾ¡Á¦°üÀ¨×î¼ÑµÄC/C++Ô´´úÂëµÄÍøÕ¾¡£Õâ²»ÊÇÒ»¸öÍêÕûµÄÇåµ¥£¬ÄúÓн¨Òé¿ÉÒÔÁªÏµÎÒ£¬ÎÒ½«»¶ÓÄúµÄ½¨Ò飬ÒÔ½øÒ»²½¼ÓÇ¿Õâ·½ÃæµÄÇåµ¥¡£
1¡¢http://snippets.dzone.com/tag/c/ --ÊýÒÔǧ¼ÆµÄÓÐÓõÄCÓïÑÔÔ´´úÂëÆ¬¶Î
2¡¢http://www.hotscripts.com/category/c-cpp/scripts-programs/ Hotscripts --ÌṩÊýÒ԰ټƵÄCºÍC++½Å±¾ºÍ³ÌÐò¡£ËùÓгÌÐò¶¼·ÖΪ²»Í¬µÄÀà±ð¡£
3¡¢http://www.planetsourcecode.com/vb/default.asp?lngWId=3 --³¬¹ýÍòÐÐCºÍC++Ãâ·ÑµÄÔ´´úÂë
4¡¢http://freshmeat.net/browse/164/ --³¬¹ý9000¸öC±àдµÄÏîÄ¿¡£
5¡¢http://www.daniweb.com/code/c.html --DANIWEBÌṩµÄʵÓôúÂë¶Î ¡£
6¡¢http://www.programmersheaven.com/tags/C/ --programmersheaven.comÉϵÄC±à³Ì×ÊÔ´¡£
7¡¢http://www.ddj.com/code/ddj.html --Dr. Dobb’s JournalµÄÔ´´úÂë¡£
8¡¢http://www.cprogramming.com/cgi-bin/source/source.cgi --CºÍC + +±à³Ì×ÊÔ´¡£
9¡¢http://www.codecogs.com/ --CodeCogsÊÇÒ»ÏîÐ×÷µÄ¿ª·ÅÔ´Âë¿â£¬C/C++µÄÊýÖµ·½ ......
ÌýÆðÀ´£¬ÓÐ×ÔÐÅ£¬ÓиãЦ¡£ÓÖ×ÔÐÅ£¬ÓÖ¸ãЦ¡£
Á½Äêǰ£¬¿¼ÈëÁËÒ»¸ö¶þÁ÷´óѧ£¬·Ç¼ÆËã»úרҵ¡£µ±³õ»³×ÅÎÞ±ÈÃÀºÃµÄÐÄÇ飬ֻÊÇÏ£ÍûÔÚѧУ¹ýµÄ¿ìÀÖЩ£¬Ñ§µÄºÃЩ£¬µ«ÊÇÓÐЩÊÂÇé×ÜÊÇÄÑÒÔÔ¤ÁÏ£¬ÎÒ×ÜÊÇÎÞ·¨ÍüÈ´ÄÇ·Ý»³ÄÔÚÕâ¸öİÉúµÄ³ÇÊУ¬ÎÒ×ÜÊÇÃÔʧÁË×Ô¼º¡£Ä¬Ä¬µÄ¶ãÔÚ×Ô¼ºµÄÊÀ½çÀïÌòóÂÉ˿ڣ¬ÔÒÔΪµ½Á˸öÐµĻ·¾³ÄÜÍüµôÒ»ÇеÄÉËÐĹÊÊ£¬µ«ÊÇ»¹ÊDZ»Õâ¸öİÉúµÄ³ÇÊдò°ÜÁË¡£
½Ó´¥ÁËÍøÂ磬ÎÒÒ²Ôø¾Ò²ÃÔʧ¹ý×Ô¼º£¬×îÖÕ£¬ÎÒ»¹ÊÇÏ룬ΪʲôÈËÃÇ×ÜÊÇ×öЩûÓÐÒâÒåµÄÊÂÇéÄØ£¿ÉϿζ¼²»À´£¬À´ÁËÓÖ²»Ìý¿Î¡£Ã¿Ã¿¶À×ÔµÄÍû×ÅÂäÈ¥µÄϦÑô£¬ÎÒµÄÈËÉúÓ¦¸Ã¶àЩʲô£¬¶ø²»ÊǰÑÇà´º¸¶ÔÚÎÞÒâÒåÉÏ¡£
»Øµ½ÏÖʵ£¬ÎÒÒѾ´í¹ýÁËÒ»Ä꣬ÔÚÄÇÒ»ÄêÖУ¬×ÜÊÇ»ë»ëججµÄ¹ý×Å£¬×ÜÊǶÀ×Ô²»ÖªËù´ëµÄ¹ý×Å£¬ËäÈ»ÎÒµ½ÏÖÔÚ»¹Ã»ÓÐ̸Áµ°®£¬ÒòΪÎÒÅÂÉ˺¦Ëý£¬ÒòΪÎÒÍü²»ÁËÁíÒ»¸öÈË¡£¶Ô²»Æð£¬ÎÒÖªµÀÄãÒ»Ö±¶ÔÎҺܺ㬵«ÊÇÔ½ºÜºÃà¸Ô½²»ÖªÔõô°ì£¬¶Ô²»Æð¡£
ËùÒÔ£¬ÎҰѾ«Á¦¶¼¸øÁËÎÒµÄÃÎÏë¡£
ÎÒ²ÅÖªµÀÎÒµÄÃÎÏëµ½µ×ÊÇʲô£¬ËäÈ»¿ÉÄÜÍíÁ˵㣬ËäÈ»¿ÉÄÜÒÔºóµÄ·²»Ì«ÇåÎú£¬µ«ÊÇÎÒ»áŬÁ¦µÄ¡£
ûÓÐÀÏʦ£¬ÖÜΧûÓÐѧÕâ·½ÃæµÄͬѧ£¬ÎÒÖ»ÄÜÔÚͼÊé¹ÝÖжÀ×Ôѧϰ×Å¡£
¼Ò²»ÊǺܸ»Ô££¬µ«Êǵ±ÎÒÌá³öÂòµçÄÔµÄʱºò£¬ÂèÂèºÜÊÇÀí½â¡£
ÎÒ²»ÖªµÀÒÔºóµÄ·µ½µ× ......
I2CÊÇPhillips¿ª·¢µÄ2ÏߵĴ®ÐÐ×ÜÏßÐÒ顣ͨ³£Ó¦ÓÃÔÚǶÈëʽϵͳÖÐÈò»Í¬µÄ×é¼þͨÐÅ£¬PCÖ÷°å¿ÉÒÔͨ¹ýI2CÀ´Ó벻ͬµÄ´«¸ÐÆ÷ͨÐÅ¡£ÕâЩ´«¸ÐÆ÷ͨ³£±¨¸æ·çÉÈËÙ¶È£¬´¦ÀíÆ÷ζȺÍÕû¸öÓ²¼þϵͳµÄÐÅÏ¢£¬Õâ¸öÐÒéÒ²¿ÉÒÔÓÃÔÚRAM chipsÉÏ£¬Ïò²Ù×÷ϵͳÌṩDIMMµÄÐÅÏ¢¡£
ÔÚ2.0ʱI2CµÄkernelÔ´Âë²»ÔÚÄÚºËÀïµÄ£¬2.4Äں˰üÀ¨ÁËÒ»µã¶ÔI2CµÄÖ§³Ö£¬Ö÷ÒªÊÇÊÓÆµÇý¶¯¡£
ÔÚ2.6ÄÚºËÀ´óÁ¿µÄI2C´úÂë¼ÓÈëµ½ÁËÄÚºËÀï¡£¸ÐлºÜ¶àÄں˿ª·¢ÕßµÄŬÁ¦£¬ËûÃÇÈýӿڸüÈÝÒ×±»ÄÚºËÉçÇø½ÓÊÜ¡£ÓÐЩÇý¶¯ÈÔÔÚÍⲿµÄCVSÊ÷ÀûÓзÅÈëkernel.orgÀµ«ÊÇËûÃDZ»ÒÆÖ²Ö»ÊÇʱ¼äµÄÎÊÌâ¡£
I2CµÄkernelÔ´Âë±»·Ö³É¼¸¸ö²¿·Ö£ºthe I2C core, I2C bus drivers£¬I2C algorithm drivers and I2C chip drivers¡£ÎÒÃǽ«ºöÂÔI2C core²¿·Ö£¬¶øÊǹØ×¢ÈçºÎ±àдa bus and algorithm Çý¶¯¡£
I2C Bus Drivers ×ÜÏßÇý¶¯
I2C×ÜÏßÇý¶¯ÓÃÒ»¸ö½á¹¹i2c_adapterÀ´ÃèÊö£¬¸Ã½á¹¹ÔÚÎļþinclude/linux/i2c.hÀﶨÒå¡£
ÒÔϵÄ×Ö¶ÎÐèÒªÔÚ×ÜÏßÇý¶¯ÀïÉèÖãº
struct module *owner; -set to the value (THIS_MODULE) that allows the proper module reference counting.
unsigned int clas ......
I2CÊÇPhillips¿ª·¢µÄ2ÏߵĴ®ÐÐ×ÜÏßÐÒ顣ͨ³£Ó¦ÓÃÔÚǶÈëʽϵͳÖÐÈò»Í¬µÄ×é¼þͨÐÅ£¬PCÖ÷°å¿ÉÒÔͨ¹ýI2CÀ´Ó벻ͬµÄ´«¸ÐÆ÷ͨÐÅ¡£ÕâЩ´«¸ÐÆ÷ͨ³£±¨¸æ·çÉÈËÙ¶È£¬´¦ÀíÆ÷ζȺÍÕû¸öÓ²¼þϵͳµÄÐÅÏ¢£¬Õâ¸öÐÒéÒ²¿ÉÒÔÓÃÔÚRAM chipsÉÏ£¬Ïò²Ù×÷ϵͳÌṩDIMMµÄÐÅÏ¢¡£
ÔÚ2.0ʱI2CµÄkernelÔ´Âë²»ÔÚÄÚºËÀïµÄ£¬2.4Äں˰üÀ¨ÁËÒ»µã¶ÔI2CµÄÖ§³Ö£¬Ö÷ÒªÊÇÊÓÆµÇý¶¯¡£
ÔÚ2.6ÄÚºËÀ´óÁ¿µÄI2C´úÂë¼ÓÈëµ½ÁËÄÚºËÀï¡£¸ÐлºÜ¶àÄں˿ª·¢ÕßµÄŬÁ¦£¬ËûÃÇÈýӿڸüÈÝÒ×±»ÄÚºËÉçÇø½ÓÊÜ¡£ÓÐЩÇý¶¯ÈÔÔÚÍⲿµÄCVSÊ÷ÀûÓзÅÈëkernel.orgÀµ«ÊÇËûÃDZ»ÒÆÖ²Ö»ÊÇʱ¼äµÄÎÊÌâ¡£
I2CµÄkernelÔ´Âë±»·Ö³É¼¸¸ö²¿·Ö£ºthe I2C core, I2C bus drivers£¬I2C algorithm drivers and I2C chip drivers¡£ÎÒÃǽ«ºöÂÔI2C core²¿·Ö£¬¶øÊǹØ×¢ÈçºÎ±àдa bus and algorithm Çý¶¯¡£
I2C Bus Drivers ×ÜÏßÇý¶¯
I2C×ÜÏßÇý¶¯ÓÃÒ»¸ö½á¹¹i2c_adapterÀ´ÃèÊö£¬¸Ã½á¹¹ÔÚÎļþinclude/linux/i2c.hÀﶨÒå¡£
ÒÔϵÄ×Ö¶ÎÐèÒªÔÚ×ÜÏßÇý¶¯ÀïÉèÖãº
struct module *owner; -set to the value (THIS_MODULE) that allows the proper module reference counting.
unsigned int clas ......
1.ÄÚ´æ·ÖÅ䷽ʽ
¡¡¡¡ÄÚ´æ·ÖÅ䷽ʽÓÐÈýÖÖ£º
¡¡¡¡[1]´Ó¾²Ì¬´æ´¢ÇøÓò·ÖÅä¡£ÄÚ´æÔÚ³ÌÐò±àÒëµÄʱºò¾ÍÒѾ·ÖÅäºÃ£¬Õâ¿éÄÚ´æÔÚ³ÌÐòµÄÕû¸öÔËÐÐÆÚ¼ä¶¼´æÔÚ¡£ÀýÈçÈ«¾Ö±äÁ¿£¬static±äÁ¿¡£
¡¡¡¡[2]ÔÚÕ»ÉÏ´´½¨¡£ÔÚÖ´Ðк¯Êýʱ£¬º¯ÊýÄÚ¾Ö²¿±äÁ¿µÄ´æ´¢µ¥Ôª¶¼¿ÉÒÔÔÚÕ»ÉÏ´´½¨£¬º¯ÊýÖ´ÐнáÊøÊ±ÕâЩ´æ´¢µ¥Ôª×Ô¶¯±»ÊÍ·Å¡£Õ»ÄÚ´æ·ÖÅäÔËËãÄÚÖÃÓÚ´¦ÀíÆ÷µÄÖ¸ÁÖУ¬Ð§Âʺܸߣ¬µ«ÊÇ·ÖÅäµÄÄÚ´æÈÝÁ¿ÓÐÏÞ¡£
¡¡¡¡[3]´Ó¶ÑÉÏ·ÖÅ䣬Òà³Æ¶¯Ì¬ÄÚ´æ·ÖÅä¡£³ÌÐòÔÚÔËÐеÄʱºòÓÃmalloc»ònewÉêÇëÈÎÒâ¶àÉÙµÄÄڴ棬³ÌÐòÔ±×Ô¼º¸ºÔðÔÚºÎʱÓÃfree»òdeleteÊÍ·ÅÄÚ´æ¡£¶¯Ì¬ÄÚ´æµÄÉú´æÆÚÓɳÌÐòÔ±¾ö¶¨£¬Ê¹Ó÷dz£Áé»î£¬µ«Èç¹ûÔÚ¶ÑÉÏ·ÖÅäÁ˿ռ䣬¾ÍÓÐÔðÈλØÊÕËü£¬·ñÔòÔËÐеijÌÐò»á³öÏÖÄÚ´æÐ¹Â©£¬Æµ·±µØ·ÖÅäºÍÊͷŲ»Í¬´óСµÄ¶Ñ¿Õ¼ä½«»á²úÉú¶ÑÄÚËé¿é¡£
¡¡¡¡2.³ÌÐòµÄÄÚ´æ¿Õ¼ä
¡¡¡¡Ò»¸ö³ÌÐò½«²Ù×÷ϵͳ·ÖÅ䏸ÆäÔËÐеÄÄÚ´æ¿é·ÖΪ4¸öÇøÓò£¬ÈçÏÂͼËùʾ¡£
´úÂëÇø(code area) ¡¡¡¡³ÌÐòÄÚ´æ¿Õ¼ä
È«¾ÖÊý¾ÝÇø(data area)
¶ÑÇø(heap area)
Õ»Çø(stack area)
¡¡¡¡Ò»¸öÓÉC/C++±àÒëµÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·ÖΪÒÔϼ¸¸ö²¿·Ö,
¡¡¡¡1¡¢Õ»Çø£¨stack£©—¡¡ ÓɱàÒëÆ÷×Ô¶¯·ÖÅäÊÍ·Å £¬´æ·ÅΪÔËÐк¯Êý¶ø·ÖÅäµÄ¾Ö²¿±äÁ¿¡¢º¯Êý²ÎÊý¡¢·µ»ØÊ ......
1.ÄÚ´æ·ÖÅ䷽ʽ
¡¡¡¡ÄÚ´æ·ÖÅ䷽ʽÓÐÈýÖÖ£º
¡¡¡¡[1]´Ó¾²Ì¬´æ´¢ÇøÓò·ÖÅä¡£ÄÚ´æÔÚ³ÌÐò±àÒëµÄʱºò¾ÍÒѾ·ÖÅäºÃ£¬Õâ¿éÄÚ´æÔÚ³ÌÐòµÄÕû¸öÔËÐÐÆÚ¼ä¶¼´æÔÚ¡£ÀýÈçÈ«¾Ö±äÁ¿£¬static±äÁ¿¡£
¡¡¡¡[2]ÔÚÕ»ÉÏ´´½¨¡£ÔÚÖ´Ðк¯Êýʱ£¬º¯ÊýÄÚ¾Ö²¿±äÁ¿µÄ´æ´¢µ¥Ôª¶¼¿ÉÒÔÔÚÕ»ÉÏ´´½¨£¬º¯ÊýÖ´ÐнáÊøÊ±ÕâЩ´æ´¢µ¥Ôª×Ô¶¯±»ÊÍ·Å¡£Õ»ÄÚ´æ·ÖÅäÔËËãÄÚÖÃÓÚ´¦ÀíÆ÷µÄÖ¸ÁÖУ¬Ð§Âʺܸߣ¬µ«ÊÇ·ÖÅäµÄÄÚ´æÈÝÁ¿ÓÐÏÞ¡£
¡¡¡¡[3]´Ó¶ÑÉÏ·ÖÅ䣬Òà³Æ¶¯Ì¬ÄÚ´æ·ÖÅä¡£³ÌÐòÔÚÔËÐеÄʱºòÓÃmalloc»ònewÉêÇëÈÎÒâ¶àÉÙµÄÄڴ棬³ÌÐòÔ±×Ô¼º¸ºÔðÔÚºÎʱÓÃfree»òdeleteÊÍ·ÅÄÚ´æ¡£¶¯Ì¬ÄÚ´æµÄÉú´æÆÚÓɳÌÐòÔ±¾ö¶¨£¬Ê¹Ó÷dz£Áé»î£¬µ«Èç¹ûÔÚ¶ÑÉÏ·ÖÅäÁ˿ռ䣬¾ÍÓÐÔðÈλØÊÕËü£¬·ñÔòÔËÐеijÌÐò»á³öÏÖÄÚ´æÐ¹Â©£¬Æµ·±µØ·ÖÅäºÍÊͷŲ»Í¬´óСµÄ¶Ñ¿Õ¼ä½«»á²úÉú¶ÑÄÚËé¿é¡£
¡¡¡¡2.³ÌÐòµÄÄÚ´æ¿Õ¼ä
¡¡¡¡Ò»¸ö³ÌÐò½«²Ù×÷ϵͳ·ÖÅ䏸ÆäÔËÐеÄÄÚ´æ¿é·ÖΪ4¸öÇøÓò£¬ÈçÏÂͼËùʾ¡£
´úÂëÇø(code area) ¡¡¡¡³ÌÐòÄÚ´æ¿Õ¼ä
È«¾ÖÊý¾ÝÇø(data area)
¶ÑÇø(heap area)
Õ»Çø(stack area)
¡¡¡¡Ò»¸öÓÉC/C++±àÒëµÄ³ÌÐòÕ¼ÓõÄÄÚ´æ·ÖΪÒÔϼ¸¸ö²¿·Ö,
¡¡¡¡1¡¢Õ»Çø£¨stack£©—¡¡ ÓɱàÒëÆ÷×Ô¶¯·ÖÅäÊÍ·Å £¬´æ·ÅΪÔËÐк¯Êý¶ø·ÖÅäµÄ¾Ö²¿±äÁ¿¡¢º¯Êý²ÎÊý¡¢·µ»ØÊ ......
ÒòΪÏîĿҪÇó£¬ÖÆ×÷µÄÒ»¸ö¶àÎļþÉÏ´«£¬²¢ÏÔʾ½ø¶ÈÌõÒ»¶Î´úÂë(vs2005»·¾³)¡£
(ֻΪ´ÖÂÔµÄʵÏÖ£¬´úÂë²¢²»¹æ·¶)
µ±¶à¸öÎļþÉÏ´«µÄʱºò£¬ÐèÒªÒÀ´Î¶ÓÁÐÐÎʽһ¸ö¸öÉÏ´«£¬µ±ÉÏ´«Ä³¸öÎļþµÄʱºò£¬Ëø¶¨½ø³Ì£¬ÉÏ´«Íê±ÏÔÙ¿ªÆôËø¡£
ÔÚÖ÷ÀàÖеÄÉÏ´«°´Å¥Ê¼þ´úÂë:
//
»ñÈ¡openFileDialog¿Ø¼þÑ¡ÔñµÄÎļþÃûÊý×é(openFileDialog¿É¶à¸öÎļþÑ¡Ôñ)
private
void
button1_Click(
object
sender, EventArgs e)
{
label1.Text
=
""
;
try
{
this
.openFileDialog1.ShowDialog();
......
ÒòΪÏîĿҪÇó£¬ÖÆ×÷µÄÒ»¸ö¶àÎļþÉÏ´«£¬²¢ÏÔʾ½ø¶ÈÌõÒ»¶Î´úÂë(vs2005»·¾³)¡£
(ֻΪ´ÖÂÔµÄʵÏÖ£¬´úÂë²¢²»¹æ·¶)
µ±¶à¸öÎļþÉÏ´«µÄʱºò£¬ÐèÒªÒÀ´Î¶ÓÁÐÐÎʽһ¸ö¸öÉÏ´«£¬µ±ÉÏ´«Ä³¸öÎļþµÄʱºò£¬Ëø¶¨½ø³Ì£¬ÉÏ´«Íê±ÏÔÙ¿ªÆôËø¡£
ÔÚÖ÷ÀàÖеÄÉÏ´«°´Å¥Ê¼þ´úÂë:
//
»ñÈ¡openFileDialog¿Ø¼þÑ¡ÔñµÄÎļþÃûÊý×é(openFileDialog¿É¶à¸öÎļþÑ¡Ôñ)
private
void
button1_Click(
object
sender, EventArgs e)
{
label1.Text
=
""
;
try
{
this
.openFileDialog1.ShowDialog();
......