Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

GCC ±àÒëc³ÌÐòµÄ·½·¨¼°¹ý³Ì½âÎö

GCC ±àÒëc³ÌÐòµÄ·½·¨¼°¹ý³Ì½âÎö 
Justin.zp.Yang 2010.04.10
        Ä¿Ç° Linux ÏÂ×î³£ÓÃµÄ C ÓïÑÔ±àÒëÆ÷ÊÇ GCC £¨ GNU Compiler Collection £©£¬ËüÊÇ GNU ÏîÄ¿ÖзûºÏ ANSI C ±ê×¼µÄ±àÒëϵͳ£¬Äܹ»±àÒëÓà C ¡¢ C++ ºÍ Object C µÈÓïÑÔ±àдµÄ³ÌÐò¡£ GCC ²»½ö¹¦Äܷdz£Ç¿´ó£¬½á¹¹Ò²Òì³£Áé»î¡£×îÖµµÃ³ÆµÀµÄÒ»µã¾ÍÊÇËü¿ÉÒÔͨ¹ý²»Í¬µÄǰ¶ËÄ£¿éÀ´Ö§³Ö¸÷ÖÖÓïÑÔ£¬ÈçJava ¡¢ Fortran ¡¢ Pascal ¡¢ Modula-3 ºÍ Ada µÈ¡£¿ª·Å¡¢×ÔÓɺÍÁé»îÊÇ Linux µÄ÷ÈÁ¦ËùÔÚ£¬¶øÕâÒ»µãÔÚ GCC ÉϵÄÌåÏÖ¾ÍÊdzÌÐòԱͨ¹ýËüÄܹ»¸üºÃµØ¿ØÖÆÕû¸ö±àÒë¹ý³Ì¡£ÔÚʹÓà GCC ±àÒë³ÌÐòʱ£¬±àÒë¹ý³Ì¿ÉÒÔ±»Ï¸·ÖΪËĸö½×¶Î£º
Ô¤´¦Àí£¨ Pre-Processing £©
±àÒ루 Compiling £©
»ã±à£¨ Asse mbling £©
Á´½Ó£¨ Linking £©
Linux ³ÌÐòÔ±¿ÉÒÔ¸ù¾Ý×Ô¼ºµÄÐèÒªÈà GCC ÔÚ±àÒëµÄÈκν׶νáÊø£¬ÒÔ±ã¼ì²é»òʹÓñàÒëÆ÷Ôڸý׶εÄÊä³öÐÅÏ¢£¬»òÕß¶Ô×îºóÉú³ÉµÄ¶þ½øÖÆÎļþ½øÐпØÖÆ£¬ÒÔ±ãͨ¹ý¼ÓÈ벻ͬÊýÁ¿ºÍÖÖÀàµÄµ÷ÊÔ´úÂëÀ´Îª½ñºóµÄµ÷ÊÔ×öºÃ×¼±¸¡£ºÍÆäËü³£ÓõıàÒëÆ÷Ò»Ñù£¬ GCC Ò²ÌṩÁËÁé»î¶øÇ¿´óµÄ´úÂëÓÅ»¯¹¦ÄÜ£¬ÀûÓÃËü¿ÉÒÔÉú³ÉÖ´ÐÐЧÂʸü¸ßµÄ´úÂë¡£
   GCC ÌṩÁË 30 ¶àÌõ¾¯¸æÐÅÏ¢ºÍÈý¸ö¾¯¸æ¼¶±ð£¬Ê¹ÓÃËüÃÇÓÐÖúÓÚÔöÇ¿³ÌÐòµÄÎȶ¨ÐԺͿÉÒÆÖ²ÐÔ¡£´ËÍ⣬ GCC »¹¶Ô±ê×¼µÄ C ºÍ C++ ÓïÑÔ½øÐÐÁË´óÁ¿µÄÀ©Õ¹£¬Ìá¸ß³ÌÐòµÄÖ´ÐÐЧÂÊ£¬ÓÐÖúÓÚ±àÒëÆ÷½øÐдúÂëÓÅ»¯£¬Äܹ»¼õÇá±à³ÌµÄ¹¤×÷Á¿¡£
C ³ÌÐòµÄ±àÒë¹ý³ÌÖ÷Òª·ÖΪËĸö½×¶Î£ºpre-processing,compiling,assembling,linking;
 
³£ÓÃÎļþµÄºó׺Ãû£º
 
gcc Ô¤´¦Àí½×¶Î£ºÖ÷Òª¶Ô°üº¬µÄÍ·Îļþ£¨££include £©ºÍºê¶¨Ò壨££define,#ifdef ... £©½øÐд¦Àí¡£¿ÉÒÔʹÓÓgcc -E” ÈÃgcc ÔÚÔ¤´¦ÀíÖ®ºóÍ£Ö¹±àÒë¹ý³Ì£¬Éú³É *.i Îļþ¡£
[root@localhost gcc]# gcc -E hello.c -o hello.i
gcc ±àÒë½×¶Î£ºgcc Ê×ÏÈÒª¼ì²é´úÂëµÄ¹æ·¶ÐÔ£¬ÊÇ·ñÓÐÓï·¨´íÎóµÈ¡£ÒÔÈ·¶¨´úÂëʵ¼ÊÒª×öµÄ¹¤×÷£¬ÔÚ¼ì²éÎÞÎóºó£¬gcc °Ñ´úÂë·­Òë³É»ã±àÓïÑÔ¡£Óû§¿ÉÒÔʹÓÃ-S Ñ¡Ïî½øÐв鿴£¬¸ÃÑ¡ÏîÖ»½ø
ÐбàÒë¶ø²»½øÐлã±à£¬Éú³É»ã±à´úÂë¡£
[root@localhost gcc]# gcc -S hello.i -o hello.s
gcc »ã±à½×¶Î£ºÉú³ÉÄ¿±ê´úÂë *.o £»ÓÐÁ½ÖÖ·½Ê½£ºÊ¹Óà gcc Ö±½Ó´ÓÔ´´úÂëÉú³ÉÄ¿±ê´úÂë gcc -c *.s -o *.o ÒÔ¼°Ê¹Óûã±àÆ÷´Ó»ã±à´úÂëÉú³ÉÄ¿±ê´úÂë as *.s -o *.o
[root@localhost gcc]# gcc -c hello.s -o hello.o
[root@localhost


Ïà¹ØÎĵµ£º

visual assist cÅ̿ռäÕ¼ÓõÄÌ«¶àÁË £­5G¿Õ¼ä


±àÒë³ÌÐò£¬ÌáʾCÅ̿ռ䲻×㣬ÎÒÇåÀícÅ̺ó£¬É¾³ýûÓõÄÈí¼þºó£¬·¢Ïֿռ仹ÊǺÜÉÙ£¬½ö½öÌáÉý200M×óÓÒ£¬ºÜÊÇÆæ¹Ö£¬Îҵÿռ䶼±»Ê²Ã´Õ¼È¥ÁËÄØ£¿
¾­¹ý²é¿´£¬·¢ÏÖC:\Documents and Settings\tangh\Application Data\VisualAssistĿ¼¾¹È»ÓÐ5G¶à£¬ÎÒµÄÂèѽ£¬ÉÏÍøÒ»²é£¬ÍøÉÏ˵Ëû˵CÅÌɱÊÖ£¬¸É´àÕ¤ÁË£¬Ã»ÓÐʲôӰÏ죡
......

ͨ¹ý#pragma pack(n)¸Ä±äC±àÒëÆ÷µÄ×Ö½Ú¶ÔÆë·½Ê½

ÔÚCÓïÑÔÖУ¬½á¹¹ÊÇÒ»ÖÖ¸´ºÏÊý¾ÝÀàÐÍ£¬Æä¹¹³ÉÔªËØ¼È¿ÉÒÔÊÇ»ù±¾Êý¾ÝÀàÐÍ£¨Èçint¡¢long¡¢floatµÈ£©µÄ±äÁ¿£¬Ò²¿É
ÒÔÊÇһЩ¸´ºÏÊý¾ÝÀàÐÍ£¨ÈçÊý×é¡¢½á¹¹¡¢ÁªºÏµÈ£©µÄÊý¾Ýµ¥Ôª¡£ÔڽṹÖУ¬±àÒëÆ÷Ϊ½á¹¹µÄÿ¸ö³ÉÔ±°´Æä×ÔÈ»¶Ô½ç£¨alignment£©Ìõ¼þ·ÖÅä¿Õ¼ä¡£¸÷¸ö³ÉÔ±
°´ÕÕËüÃDZ»ÉùÃ÷µÄ˳ÐòÔÚÄÚ´æÖÐ˳Ðò´æ´¢£¬µÚÒ»¸ö³ÉÔ±µÄµØÖ·ºÍÕû¸ö ......

¡ïÔõÑùѧϰCÓïÑÔ(Ï׸øÃÔãµÄC°®ºÃÕß)¡ï

Ò» £¬ÔõÑùѧϰCÓïÑÔ
     ºÜ¶àÈ˶ÔѧϰCÓïÑԸе½ÎÞ´ÓÏÂÊÖ£¬¾­³£ÎÊÎÒͬһ¸öÎÊÌ⣺¾¿¾¹ÔõÑùѧϰCÓïÑÔ£¿ÎÒÊÇÒ»¸ö½Ìʦ£¬ÒѾ­¿ª·¢Á˺ܶàÄêµÄ³ÌÐò£¬ºÍºÜ¶à¸Õ¸ÕÆð²½µÄÈËÒ»Ñù£¬Ñ§Ï°µÄµÚÒ»¸ö¼ÆËã»úÓïÑÔ¾ÍÊÇCÓïÑÔ¡£¾­¹ýÕâЩÄêµÄ¿ª·¢£¬ÎÒÉîÉîµÄÌå»áµ½CÓïÑÔ¶ÔÓÚÒ»¸ö³ÌÐòÉè¼ÆÈËÔ±¶àôµÄÖØÒª£¬Èç¹û²»¶®CÓ ......

cµÄIO

²¿·ÖÄÚÈÝÀ´×Ôhttp://www.programfan.com/article/2674.htmlÒÔ¼°http://www.programfan.com/article/showarticle.asp?id=2675
²¿·Ö·­ÒëÀ´×ÔTUM skript£¨c programmieren);
1.printf()£º
ǧÍò²»ÒªÒÅÍüÔÚprintf()µÄ×îºóÌí¼ÓNewLine"\n"¡£ÒòΪÔÚcµÄ¿âÖÐͨ³£ÓÐÐлº´æ»úÖÆ£¬Õâ¸öÒâζ×ÅÖ»Óе±Ò»ÐеÄÊäÈëͨ¹ý"\n"½áÊøÖ®Ç°£¬ÐеÄÊ ......

ÎÒµÄCʵ¼ù(8)£º×ÖËÑË÷

  ×ÖËÑË÷¾ÍËÑË÷Ò»¸öÊýÖоßÓÐÄ³Ð©ÌØÕ÷µÄλ¡£ÊµÏÖÈçÏ£º
/* wsearch.c£º×ÖËÑË÷ */
/* ´Ó×ó±ßѰÕÒµÚÒ»¸ö0×Ö½Ú£ºµÚ0(1,2,3)¸ö×Ö½ÚÊÇ0ʱ£¬·µ»Ø0(1,2,3)£¬·ñÔò·µ»Ø4 */
int zbytel(unsigned x){
if((x>>24)==0) return 0;
else if((x & 0x00ff0000)==0) return 1;
else if((x & 0x0000ff00)==0) r ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ