ºìÁªLinuxÃÅ»§
Linux°ïÖú

UNIXϵͳ Ä¿±êÎļþ³õ̽

·¢²¼Ê±¼ä:2008-09-27 12:36:51À´Ô´:ºìÁª×÷Õß:jerry520
UNIX(R) ϵͳÖÐÔËÐеijÌÐò×ñÊØÒ»ÖÖ³ÆÎªÄ¿±êÎļþ¸ñʽµÄ¾«ÐÄÉè¼Æ¡£Á˽â¸ü¶à¹ØÓÚÄ¿±êÎļþ¸ñʽµÄÄÚÈÝ£¬ÒÔ¼°¿ÉÒÔÓÃÀ´Ñо¿ÏµÍ³ÖÐÄ¿±êÎļþµÄ¹¤¾ß¡£ ¼ÆËã»ú±à³ÌµÄ×îм¼Êõ½«Ò»ÖÖÌØÊâµÄÈËÐÔÓëÒ»×éÌØÊâµÄ¹¤¾ß½áºÏÔÚÒ»Æð£¬ÓÃÒÔÉú²ú³ö¶ÔÆäËûÈ˷dz£ÓаïÖúµÄÒ»ÖÖÉñÆæµÄ²úÆ·£¬¼´Èí¼þ¡£¼ÆËã»ú³ÌÐòÔ±ÊÇÒ»Èº×¢ÖØÏ¸½ÚµÄÈË£¬ËûÃÇ¿ÉÒÔ´¦Àí¼ÆËã»úÖи÷ÖÖ¸÷ÑùµÄÀ§ÄÑ¡£¼ÆËã»úµÄÒªÇó·Ç³£¿Á¿Ì£¬²¢ÇÒ²»ÄÜÈÝÈÌÆäÖдæÔÚÈÎºÎµÄÆ«²î¡£ºÁÎÞÒÉÎÊ£¬ÎÞÂÛÄúµÄ¸öÐÔÈçºÎÒÔ¼°ÔÚ¹¤×÷ÖÐʹÓÃÁ˺ÎÖÖ¸¨Öú¹¤¾ß£¬¼ÆËã»ú³ÌÐòµÄ±àд¶¼ÊǷdz£À§Äѵġ£
ÔÚ UNIX® ºÍ Linux® ÖУ¬ÈκÎÊÂÎï¶¼ÊÇÎļþ¡£Äú¿ÉÒÔÈÏΪ£¬UNIX ºÍ Linux ±à³Ìʵ¼ÊÉÏÊDZàд´¦Àí¸÷ÖÖÎļþµÄ´úÂ롣ϵͳÓÉÐí¶àÀàÐ͵ÄÎļþ×é³É£¬µ«Ä¿±êÎļþ¾ßÓÐÒ»ÖÖÌØÊâµÄÉè¼Æ£¬ÌṩÁËÁé»îºÍ¶àÑùµÄÓÃ;¡£
Ä¿±êÎļþÊǰüº¬´øÓи½¼ÓµØÖ·ºÍÖµµÄÖú¼Ç·ûºÅµÄ·Ïßͼ¡£ÕâЩ·ûºÅ¿ÉÒÔÓÃÀ´¶Ô¸÷ÖÖ´úÂë¶ÎºÍÊý¾Ý¶Î½øÐÐÃüÃû£¬°üÀ¨¾­¹ý³õʼ»¯µÄºÍδ³õʼ»¯µÄ¡£ËüÃÇÒ²¿ÉÒÔÓÃÀ´¶¨Î»Ç¶ÈëµÄµ÷ÊÔÐÅÏ¢£¬¾ÍÏñÓïÒå Web£¬·Ç³£ÊʺÏÓɳÌÐò½øÐÐÔĶÁ¡£
ÐÐÒµ¹¤¾ß
¼ÆËã»ú±à³ÌÖÐʹÓõŤ¾ß°üÀ¨´úÂë±à¼­Æ÷£¬Èç vi »ò Emacs£¬Äú¿ÉÒÔʹÓÃÕâЩ¹¤¾ßÊäÈëºÍ±à¼­Ï£Íû¼ÆËã»úÔÚÍê³ÉËùÐèÈÎÎñʱִÐеÄÖ¸ÁÒÔ¼°±àÒëÆ÷ºÍÁ¬½ÓÆ÷£¬ËüÃÇ¿ÉÒÔÉú³ÉÕæÕýʵÏÖÕâЩĿ±êµÄ»úÆ÷´úÂë¡£
¸ß¼¶µÄ¹¤¾ß£¬³ÆÎª¼¯³Éµ÷ÊÔ»·¾³ (IDE)£¬ËüÒÔͳһµÄÍâ¹Û¼¯³ÉÁ˲»Í¬¹¤¾ßµÄ¹¦ÄÜ¡£IDE ʹµÃ±à¼­Æ÷¡¢±àÒëÆ÷¡¢Á¬½ÓÆ÷ºÍµ÷ÊÔÆ÷Ö®¼äµÄ½çÏÞ±äµÃºÜÄ£ºý¡£Òò´Ë£¬ÎªÁ˸üÉîÈëµØÑо¿ºÍÁ˽âϵͳ£¬ÔÚʹÓü¯³ÉµÄÌ×¼þ֮ǰ£¬×îºÃÏȵ¥¶ÀµØÊ¹ÓÃÕâЩ¹¤¾ß¡££¨×¢Ò⣺IDE Ҳͨ³£±»³ÆÎª¼¯³É¿ª·¢»·¾³¡££©
±àÒëÆ÷¿ÉÒÔ½«ÄúÔÚ´úÂë±à¼­Æ÷Öд´½¨µÄÎı¾×ª»»ÎªÄ¿±êÎļþ¡£×î³õ£¬Ä¿±êÎļþ±»³ÆÎª´úÂëµÄÖмä±íʾÐÎʽ£¬ÒòΪËüÓÃ×÷Á¬½Ó±à¼­Æ÷£¨¼´Á¬½ÓÆ÷£©µÄÊäÈ룬¶øÁ¬½Ó±à¼­Æ÷×îÖÕÍê³ÉÕû¸öÈÎÎñ²¢Éú³É¿ÉÖ´ÐеijÌÐò×÷ΪÊä³ö¡£
´Ó´úÂëµ½¿ÉÖ´ÐдúÂëµÄת»»¹ý³Ì¾­¹ýÁËÁ¼ºÃµÄ¶¨Ò岢ʵÏÖÁË×Ô¶¯»¯£¬¶øÄ¿±êÎļþÊÇÕâ¸öÁ´ÖÐÓлúµÄÁ¬½ÓÐÔ»·½Ú¡£ÔÚÕâ¸öת»»¹ý³ÌÖУ¬Ä¿±êÎļþ×÷ΪÁ¬½Ó±à¼­Æ÷ËùʹÓõÄÓ³Ïó£¬Ê¹µÃËüÃÇÄܹ»½âÎö¸÷ÖÖ·ûºÅ²¢½«²»Í¬µÄ´úÂëºÍÊý¾Ý¶ÎÁ¬½ÓÔÚÒ»ÆðÐγÉͳһµÄÕûÌå¡£
ÀúÊ·
×î³õ£¬¸÷ÖÖÀàÐ͵ļÆËã»ú¾ßÓÐ×Ô¼º¶ÀÌØµÄÄ¿±êÎļþ¸ñʽ£¬µ«Ëæ×Å UNIX ºÍÆäËûÔÚ²»Í¬Ó²¼þƽ̨ÉÏÌṩ¿ÉÒÆÖ²ÐԵIJÙ×÷ϵͳµÄ³öÏÖ£¬Ò»Ð©³£ÓõÄÎļþ¸ñʽÉÏÉýΪͨÓõıê×¼¡£ÆäÖаüÀ¨ a.out¡¢COFF ºÍ ELF ¸ñʽ¡£
ÒªÁ˽âÄ¿±êÎļþ£¬ÐèÒªÒ»×é¿ÉÒÔ¶ÁȡĿ±êÎļþÖв»Í¬²¿·Ö²¢ÒÔ¸üÒ×ÓÚ¶ÁÈ¡µÄ¸ñʽÏÔʾÕâЩÄÚÈݵŤ¾ß¡£±¾ÎĽ«ÌÖÂÛÕâЩ¹¤¾ßÖбȽÏÖØÒªµÄ·½Ãæ¡£µ«Ê×ÏÈ£¬Äú±ØÐë´´½¨Ò»¸ö¹¤×÷̨£¬²¢ÔÚÆäÖн¨Á¢Ò»¸öÑо¿¶ÔÏó¡£
¹¤×÷̨
Æô¶¯Ò»¸ö xterm »á»°£¬ÈÃÎÒÃÇÏÈ´´½¨Ò»¸ö¿Õ°×µÄ¹¤×÷̨£¬²¢¿ªÊ¼¶ÔÄ¿±êÎļþ½øÐÐÑо¿¡£ÏÂÃæµÄÃüÁî´´½¨ÁËÒ»¸öĿ¼£¬¿ÉÒÔ½«Ä¿±êÎļþ·Åµ½¸ÃĿ¼ÖнøÐÐÑо¿£º
[table=98%][tr][td]cdmkdir srccd srcmkdir hwcd hw[/td][/tr][/table]
È»ºó£¬Ê¹ÓÃÄú×îϲ»¶µÄ´úÂë±à¼­Æ÷£¬ÔÚ $HOME/src/hw Ŀ¼ÖÐÊäÈëÇåµ¥ 1 ÖеijÌÐò£¬²¢ÃüÃûΪ hw.c¡£
Çåµ¥ 1. hw.c ³ÌÐò
[table=98%][tr][td] #include int main(void){ printf("Hello World!\n"); return 0;}[/td][/tr][/table]
ҪʹÓà UNIX ¹¤¾ß¿âÖÐÌṩµÄ¸÷ÖÖ¹¤¾ß£¬¿ÉÒÔ½«Õâ¸ö¼òµ¥µÄ¡°Hello World¡±³ÌÐò×÷ΪÑо¿µÄ¶ÔÏó¡£Äú½«Ñ§Ï°¹¹½¨ºÍ²é¿´Ä¿±êÎļþµÄÊä³ö£¬¶ø²»ÊÇʹÓÃÈκοì½Ý·½·¨Ö±½Ó´´½¨¿ÉÖ´ÐÐÎļþ£¨µÄÈ·ÓÐÐí¶àÕâÑùµÄ¿ì½Ý·½·¨£©¡£
Îļþ¸ñʽ
C ±àÒëÆ÷µÄÕý³£Êä³öÊÇÓÃÓÚÄúËùÖ¸¶¨µÄÄ¿±ê´¦ÀíÆ÷µÄ»ã±à´úÂë¡£»ã±à´úÂëÊÇ»ã±àÆ÷µÄÊäÈ룬ÔÚȱʡÇé¿öÏ£¬»ã±àÆ÷½«Éú³ÉËùÓÐÄ¿±êÎļþµÄ׿ÏÈ£¬¼´ a.out Îļþ¡£Õâ¸öÃû³Æ±¾Éí±íʾ»ã±àÊä³ö (Assembler Output)¡£Òª´´½¨ a.out Îļþ£¬¿ÉÒÔÔÚ xterm ´°¿ÚÖÐÊäÈëÏÂÃæµÄÃüÁ
[table=98%][tr][td]cc hw.c[/td][/tr][/table]
×îÐ嵀 C ±àÒëÆ÷½«±àÒëºÍ»ã±à²½Öè×éºÏ³ÉÒ»¸ö²½Öè¡£Äú¿ÉÒÔÖ¸¶¨²»Í¬¿ª¹ØÑ¡ÏîÒԲ鿴 C ±àÒëÆ÷µÄ»ã±àÊä³ö¡£Í¨¹ýÊäÈëÏÂÃæµÄÃüÁÄú¿ÉÒÔ¿´µ½ C ±àÒëÆ÷µÄ»ã±àÊä³ö£º
[table=98%][tr][td]cc -S hw.c[/td][/tr][/table]
Õâ¸öÃüÁîÉú³ÉÁËÒ»¸öеÄÎļþ hw.s£¬ÆäÖаüº¬Äúͨ³£ÎÞ·¨¿´µ½µÄ»ã±àÊäÈëÎı¾£¬ÒòΪ±àÒëÆ÷ÔÚȱʡÇé¿öϽ«Éú³É a.out Îļþ¡£ÕýÈçËùÔ¤ÆÚµÄ£¬UNIX »ã±à³ÌÐò¿ÉÒÔ¶ÔÕâÖÖÊäÈëÎļþ½øÐлã±à£¬ÒÔÉú³É a.out Îļþ¡£
ÎÄÕÂÆÀÂÛ

¹²ÓÐ 0 ÌõÆÀÂÛ