C/C++³ÌÐòÔ±±Ø¶ÁµÄÊ®±¾Êé
ÔÚGmail TopLanguage Group Öп´µ½Ò»ÆªÎÄÕ“C/C++³ÌÐòÔ±±Ø¶ÁµÄÊ®±¾Ê飨ÉÏ£©”£¬´ó¼ÒµÄÌÖÂÛ¶¼ºÜ¼¤Àø£¬´ó¼Ò¶¼¾õµÃÕâÆªÎÄÕÂдµÃºÜ°ô£¬ÎÒÏëÔÚGroupÀïµÄÅóÓѶ¼ÄÜÔÚLookgirlµÄÕâÆªÎÄÕÂÀï»ñÒæ²»ÉÙ£¬Îª´Ë¶·µ¨ÔÚ´Ë×ªÔØ¸ÃÎÄ£¬¹©¸ü¶àÅóÓѽ»Á÷¡¢Ñ§Ï°¡£
C/C++³ÌÐòÔ±±Ø¶ÁµÄÊ®±¾Ê飨ÉÏ£©
Õâ¸öÌâÄ¿´óµÄÓÐЩÀëÆ×£¬Êµ»°Ëµ£¬Ö»ÊÇÏëÍÆ¼öÒ»ÏÂ×Ô¼º¾õµÃºÜºÃ¡¢ÖµµÃÊղصÄһЩ¼¼Êõ·½ÃæµÄͼÊé¡£Èç¹û²»ÊdzÌÐòÔ±£¬»òÕß¹ØÐĵķ½ÏòÊÇÍøÒ³¿ª·¢¡¢Êý¾Ý¿â¿ª·¢£¬»òÕßÖ»ÊÇÏëÁ˽âһϿª·¢Á÷³Ì£¬ÕâЩÊé²»¶¼ÊÇÊʺÏÄ㣬µ«Ò²ºÜÖµµÃÊÕ²ØÁË¡£
ÕâÆªÎÄ×ÖµÄÕë¶ÔÄ¿±êÊÇ£¬Î¢ÈíÆ½Ì¨ÏµÄc/c++³ÌÐòÔ±£¬Ñ§¹ý¼ÆËã»ú»ù´¡Ñ§¿Æ£¬ÓÐÒ»¶¨µÄÓ¢ÓïÔĶÁÄÜÁ¦¡£½¨Ò鹺ÂòµÄ˳ÐòÒ²ÊÇ´ÓÉÏÖÁÏ¡£
£¨1£©½¨Òé´ó¼ÒÔĶÁµÄµÚÒ»±¾ÊéÊÇ¡¶±àÂëµÄ°ÂÃØ¡·£¨Ó¢ÎÄÃû¡¶code¡·£©£¨±¾ÊéÓÉ»úе¹¤Òµ³ö°æÉ绪Õ¹«Ë¾³ö°æ£©£¬Õâ±¾ÊéÖÐÎİæÓ¦¸ÃÒѾ¾ø°æÁË£¬µ«ºÃÏñÓÐÓ¢ÎÄÓ°Ó¡°æ¡£Õâ±¾ÊéûÓн²¸ÃÈçºÎ±à³Ì£¬ÈçºÎдһ¸öhello world¡£ËüÉîÈëdz³öµÄ½éÉÜÁ˼ÆËã»úÊÇÈçºÎ×é³ÉµÄ£¬±ÈÈç¶þ½øÖÆ£¬±ÈÈçÂß¼Ãŵç·µÄʵÏÖ£¬¶¼ÊǺÜdzÏԵġ£¿´ÁËÕâ±¾Ê飬»á¶Ô¼ÆËã»úÓиöÖªÆäËùÒÔÈ»µÄÁ˽⣬Ҳ¾ÍÊÇ»úÆ÷ÈçºÎʵÏÖµÄÒ»¼ÓÒ»µÈÓÚ¶þ£¬ÈçºÎÄÜÖ´ÐгÌÐò¡£¡¶±àÂëµÄ°ÂÃØ¡·ÊǼÆËã»úרҵ»òÕßÊdzõÖиßÖжԼÆËã»ú¸ÐÐËȤѧÉú£¬Ó¦¸ÃÒ»ÉÏѧ¾Í¶ÁµÄÒ»±¾Êé¡£
£¨2£©µÚ¶þ±¾Ò²Êǽ¨Òé´ó¼Ò¿´µ½ÁËÁ¢¿ÌÂòÏÂÀ´£¬±£Ö¤ÎïÓÐËùÖµ£¬¾ÍÊÇ¡¶³ÌÐòÉè¼ÆÊµ¼ù¡·£¨Ó¢ÎÄÃûThe Practice of Programming£©£¨±¾ÊéÓÉ»úе¹¤Òµ³ö°æÉ绪Õ¹«Ë¾³ö°æ£©¡£ÓÐÁËÕâ±¾Ê飬»ù±¾ÉÏ¡¶´úÂë´óÈ«¡·¡¢¡¶³ÌÐòÔ±ÐÞÁ¶Ö®µÀ¡·Õ⼸±¾ºóÃæÍÆ¼öµÄÊé¿ÉÒÔ²»ÂòÁË£¬ÒòΪ¾«»ª»ù±¾É϶¼Å¨Ëõµ½Õâ±¾ÊéÀïÃæ£¬µ±È»£¬²»Í¬µÄ×÷Õßд³öÀ´µÄ»¹ÊDz»Ò»Ñù£¬Èç¹ûÓÐÇ®£¬»¹ÊǶ¼ÂòÁË×îºÃ¡£¡¶³ÌÐòÉè¼ÆÊµ¼ù¡·µÄÁ½Î»×÷ÕßBrian W.Kernigham / Rob Pike£¬ÔÚ¼ÆËã»úÁìÓò£¬¾ÍÊÇ´óʦ¼¶µÄÈËÎ¸ßɽÑöÖ¹£¬Ð´³öÈç´ËͨË×Ò×¶®µÄ¼ÆËã»ú¹¤³Ìʵ¼ùÊ飬ÈÃÎÒ»¹ÄÜ˵ʲôÑöĽµÄ»°°¡¡£Äã²»ÖªµÀËûÃÇÊÇË£¿È¥ËÑwiki °É¡£ÀïÃæÃ¿Ò»Õ½ڶ¼·Ç³£¾µä£¬ÉõÖÁÿÕºóÃæÍÆ¼öÑÓÉìÔĶÁµÄÊé¼®£¬¶¼ÊǾµäÖеľµä¡£Ò»¶¨ÒªÂýÂý¶Á·´¸´¶Á£¬Èç¹ûÕâ±¾Êé¿´ÍêÁËÒԺ󣬻ù±¾ÉϾÍÊÇÒ»¸ö¼ÆËã»úÖм¶±à³ÌˮƽÁË¡£
£¨3£©µÚÈý±¾Êé±È½ÏÄÑÑ¡ÔñһЩ£¬»¹ÊÇÍÆ¼öÕâ±¾ºÃÁË¡¶C³ÌÐòÉè¼ÆÓïÑÔ£¬µÚ2°æ¡·£¬Ò²¾ÍÊÇ´«ËµÖеÄK&R£¬Èç¹ûÄãÊÇÒ»¸ö¼ÆËã»úרҵµÄѧÉú£¬»¹Ã»ÓÐÕâ±¾Ê飬ÄÇÄãÔÚѧУÀïѧÁËʲô¾ÍºÜÖµµÃ»³ÒÉ¡£Õâ±¾Êé272Ò³£¬Ã¿Ò³¶¼ºÜ¾µä£¬»ù±¾ÉÏÄãÅöµ½µÄËùÓÐcÓïÑÔÎÊÌâÔÚÕâ±¾±¡±¡µÄСÊéÀï¶¼ÓÐÉæ¼°£¬µ«ÊÇÏÞÓÚÆª·ù£¬Ó
Ïà¹ØÎĵµ£º
×Ô¼ºËѼ¯²¢ÇÒÕûÀí£¬ÓÃÓڲο¼¡£
1.ÍêÕûÁ÷³Ì£º
CÔ´³ÌÐòÍ·Îļþ££>Ô¤±àÒë´¦Àí(cpp)££>±àÒë³ÌÐò±¾Éí££>ÓÅ»¯³ÌÐò££>»ã±à³ÌÐò££>Á´½Ó³ÌÐò-->¿ÉÖ´ÐÐÎļþ
pic from http://edmulroy.portbridge.com/oview.htm
2. cµÄÔ¤´¦Àí
Ô¤±àÒë³ÌÐòËùÍê³ÉµÄ»ù±¾ÉÏÊǶÔÔ´³ÌÐòµÄ& ......
[root@localhost test]# hexdump -s 0 -n 52 -C helloworld
00000000 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 |.ELF............|
00000010 02 00 03 00 01 00 00 00 10 83 04 08 34 00 00 00 |............4...|
00000020 30 08 00 00 00 00 00 00 34 00 20 ......
λ¼ÆÊý¾ÍÊǶÔÒ»¸öÊýÖоßÓÐÄ³Ð©ÌØÕ÷µÄλ½øÐмÆÊý¡£¿´ÏÂÃæÊµÏÖ£º
/* bitscount.c£ºÎ»¼ÆÊý */
/* ¼ÆËãxÖÐ1λµÄÊýÄ¿£º·½°¸1£¬²ÉÓ÷ÖÖβßÂÔ */
inline int pop(unsigned x){
/* ¶Ôÿ¸ö2λ×ֶΣ¬ÏÈÎö³öÆäÓҶ˵Ä1룬ÔÙÎö³öÆä×ó¶ËµÄ1λ£¬È»ºóÈÃÕâÁ½¸öλÏà¼Ó */
x=(x & 0x55555555)+((x>>1) & 0x555555 ......
×¢ÒâÖ»Äܵ½2049Ä꣡
#define uchar unsigned char
#define uint unsigned int
#include <intrins.h>
/*
¹«ÀúÄê¶ÔÓ¦µÄÅ©ÀúÊý¾Ý,ÿÄêÈý×Ö½Ú,
¸ñʽµÚÒ»×Ö½ÚBIT7-4 λ±íʾÈòÔÂÔ·Ý,ֵΪ0 ΪÎÞÈòÔÂ,BIT3-0 ¶ÔӦũÀúµÚ1-4 ÔµĴóС
µÚ¶þ×Ö½ÚBIT7-0 ¶ÔӦũÀúµÚ5-12 Ô´óС,µÚÈý×Ö½ÚBIT7 ±íʾũÀúµÚ13 ¸öÔ´óÐ ......
1¡¢Ñ¡ÔñºÏÊʵÄËã·¨ºÍÊý¾Ý½á¹¹
Ñ¡ÔñÒ»ÖÖºÏÊʵÄÊý¾Ý½á¹¹ºÜÖØÒª£¬Èç¹ûÔÚÒ»¶ÑËæ»ú´æ·ÅµÄÊýÖÐʹÓÃÁË´óÁ¿µÄ²åÈëºÍɾ³ýÖ¸ÁÄÇʹÓÃÁ´±íÒª¿ìµÃ¶à¡£Êý×éÓëÖ¸ÕëÓï¾ä¾ßÓÐÊ®·ÖÃÜÇеĹØÏµ£¬Ò»°ãÀ´Ëµ£¬Ö¸Õë±È½ÏÁé»î¼ò½à£¬¶øÊý×éÔò±È½ÏÖ±¹Û£¬ÈÝÒ×Àí½â¡£¶ÔÓڴ󲿷ֵıàÒëÆ÷£¬Ê¹ÓÃÖ¸Õë±ÈʹÓÃÊý×éÉú³ÉµÄ´úÂë¸ü¶Ì£¬Ö´ÐÐЧÂʸü¸ß¡£
ÔÚÐí¶à ......