·¢²©ÎÄ
¸çµÂ°ÍºÕ²ÂÏë

godbach.blog.chinaunix.net

   
¸öÈË×ÊÁÏ
  • ²©¿Í·ÃÎÊ£º343336
  • ²©ÎÄÊýÁ¿£º151
  • ²©¿Í»ý·Ö£º8696
  • ²©¿ÍµÈ¼¶£ºÖн«
  • ¹Ø×¢ÈËÆø£º 17
  • ×¢²áʱ¼ä£º2007-03-09 21:21:24
¶©ÔÄÎҵIJ©¿Í
  • ¶©ÔÄ
  • ¶©Ôĵ½Ïʹû
  • ¶©Ôĵ½×¥Ïº
  • ¶©Ôĵ½Google
×ÖÌå´óС£º´ó ÖРС²©ÎÄ
·ÖÀࣺ FreeBSD

    Ç°ÃæÒ»ÆªÎÄÕ½²½âÁË¡¶UNIX»·¾³¸ß¼¶±à³Ì¡·Ô´Âë±àÒë·½·¨¡£ÎÄÖÐËù½²µ½µÄ±àÒë·½·¨ÊÇ·Ç×÷ÕßÌṩµÄ±àÒë·½·¨£¬¼´²»Ê¹ÓÃ×÷ÕßÌṩµÄÍ·Îļþ£¬³ÌÐòÖÐËùÓÐʹÓõÄÍ·Îļþ¶¼Ò»Ò»Áгö¡£¶ø³ÌÐòÖеijö´í´¦Àíº¯ÊýÔò¼òµ¥µÄÓÃprintfº¯ÊýÌæ´ú¡£

    Ëæºó£¬Ò²ÓÐÍøÓÑÌá³öÈçºÎ²ÉÓÃ×÷Õߵķ½·¨À´¶ÔËùÓеijÌÐò½øÐбàÒë¡£³öÓÚ½â¾öÎÊÌ⣬ͬʱҲÏëʵÏÖÕâ¸ö·½·¨£¬±Ï¾¹ÊµÏÖÖ®ºóÿ¸ö³ÌÐò¶¼¿ÉÒÔÖ±½ÓÔËÐУ¬»¹ÊDZȽϷ½±ãµÄ¡£Òò´Ë£¬¾Í°´ÕÕÔ´´úÂëÎļþ¼ÐÖеÄREADMEµÄ²½Ö裬¶ÔÕû¸öÔ´´úÂë½øÐÐÁ˱àÒë¡£

£¨Ò»£©×÷ÕßÌṩµÄ±àÒë·½·¨µÄʵÏÖ

     READMEÎļþÖиø³öµÄ±àÒë·½·¨ÈçÏ£º

    To build the source, edit the Make.defines.* file for your system and set WKDIR to the pathname of the tree containing the source code.  Then just run "make".  It should figure out the system type and build the source for that platform utomatically.

     ²ÎÕո÷½·¨£¬ÎÒ½«Ô´ÂëµÄ±àÒë·ÖΪÈý²½¡£Õû¸ö²½Öè¶¼ÊÇÔÚroot³¬¼¶Óû§Ï½øÐеģ¬Èç¹ûÆäËûÓû§Ã»ÓÐȨÏÞ½øÐбàÒ룬¿ÉÒÔͨ¹ýsuÃüÁîÇл»µ½³¬¼¶Óû§¡£

      µÚÒ»²½£¬±à¼­Make.defines.*Îļþ¡£ÓÉÓÚÎÒËùʹÓõIJÙ×÷ϵͳÊÇFreeBSD6.1£¬ËùÒÔÓ¦¸Ã±à¼­ÎļþMake.defines.freebsd¡£Æäʵ£¬±à¼­¸ÃÎļþµÄÄÚÈÝÖ÷ÒªÊÇÐÞ¸ÄÆäÖеÄWKDIR£¬¼´ÎÒÃÇÔ´ÂëËùÔÚÎļþ¼ÐµÄ¾ø¶Ô·¾¶Ãû¡£Ô­ÎļþÖÐWKDIR£½/home/sar/apue.2e£¬ÎÒÃÇ¿ÉÒÔ¸ù¾ÝÎÒÃÇʵ¼ÊÎļþ¼ÐËùÔÚµÄλÖýøÐÐÏàÓ¦µÄÐ޸ġ£ÎÒµÄapue.2eÎļþ¼ÐÖ±½Ó·ÅÔÚ/homeÏÂÁË£¬ËùÒÔÎÒ½«WKDIRÐÞ¸ÄΪWKDIR£½/home/apue.2e¡£ÆäÓàÄÚÈݲ»ÓÃÐ޸쬱£´æÐ޸ĺóµÄÎļþ¡£

      µÚ¶þ²½£¬Ð޸Ľű¾Îļþsystype.shµÄȨÏÞ¡£ÓÉÓÚԭʼµÄsystype.shÎļþ²»¾ßÓпÉÖ´ÐеÄȨÏÞ¡£Í¨¹ýÖ´ÐÐÃüÁî:

#chmod +x systype.sh  

¸øµ±Ç°Óû§¼°ÆäËùÔÚ×éºÍÆäËû×éÌí¼Ó¿ÉÖ´ÐÐȨÏÞ£»

»òÕß

#chmod u+x systype.sh 

½ö¸øµ±Ç°Óû§Ìí¼Ó¿ÉÖ´ÐÐȨÏÞ¡£

       ¸Ã½Å±¾ÎļþµÄ¹¦ÄÜÖ÷ÒªÊǼì²â²Ù×÷ϵͳµÄÀàÐÍ¡£Ëü¿ÉÒÔ¼ì²âµ½ÏµÍ³µÄÀàÐÍÓУºFreeBSD£¬Linux£¬MacOSºÍSolarisµÈ¡£Èç¹ûµ¥¶ÀÖ´ÐÐÕâ¸öshell½Å±¾£º

££./systype.sh

ÔòÊä³ö½á¹ûΪ£ºfreebsd¡£¼´¼ì²â±¾»úµÄ²Ù×÷ϵͳΪFreeBSD¡£

    µÚÈý²½£¬½øÐÐÔ´ÂëµÄ±àÒë¡£ÔÚÃüÁîÐÐÏÂÖ´ÐÐmakeÃüÁͨ¹ý²é¿´MakefileÎļþ¿ÉÖª£¬makeÖ®ºó£¬Ê×ÏÈÖ´ÐÐsystype.sh½Å±¾£¬¼´Ê×ÏÈÈ·¶¨²Ù×÷ϵͳµÄÀàÐÍ£¬È»ºóÔÚ½øÐÐÔ´ÂëµÄ±àÒë¡£ÔÚ±àÒëµÄ¹ý³ÌÖУ¬»áÓÐһЩWarning¡£ÕâЩ¶¼ÊÇÕý³£µÄ£¬µ¼Ö¾¯¸æµÄÔ­Òò¿ÉÄÜÊDzÉÓñàÒëÆðµÄ°æ±¾²»Í¬»òÕßÊÇͬһÀàÐͲÙ×÷ϵͳµÄ°æ±¾²»Í¬¡£µ«ÊÇ£¬Ö»ÒªmakeµÄ¹ý³Ì²»³öÏÖerror£¬¾Í»á˳ÀûµÄÉú³É¿ÉÖ´ÐÐÎļþ¡£ÎÒµÄÔÚ±àÒë¹ý³ÌÖÐûÓгöÏÖerror£¬Òò´ËÒâζ×űàÒë³É¹¦¡£

       ×¢Ò⣺±àÒëµÄ¹ý³ÌÖпÉÄÜ»á³öÏÖµÄÒ»¸öÎÊÌ⣬ҲÊÇÒ»¸öÍøÓÑÔø¾­Îʵ½µÄÎÊÌ⣬¾ÍÊÇÔÚ±àÒëÖгöÏÖÕâ¸öµÄ´íÎó£¬Ìáʾnawk command cannot be found¡£Õâ¸öÎÊÌâ¿ÉÄܵÄÔ­ÒòÊÇ£¬ÓÐЩ²Ù×÷ϵͳµÄÄں˰汾½ÏµÍ£¬¿ÉÄÜ»¹²»Ö§³Önawk(new awk)Õâ¸öÃüÁî¡£µ«Ó¦¸ÃÖ§³ÖawkÃüÁî¡£Òò´Ë£¬ÎÊÌâµÄ½â¾ö·½·¨¾ÍÊǽ«Ïà¹ØÎļþÖеÄnawkÃüÁîÌæ»»Îªawk£¬»òÕßΪϵͳÌí¼ÓÒ»¸ö±ðÃûalias£¬alias nawk awk¡£ÕâÑùÔÚ±àÒ»µÄ¹ý³ÌÖУ¬Óöµ½nawkÃüÁîʱ£¬Êµ¼Ê»áÈ¥Ö´ÐÐawkÃüÁî¡£Èç¹û»¹ÓÐÆäËûÎÊÌ⣬¿ÉÒÔÈ¥ÍøÉÏËÑË÷Ïà¹ØµÄ½â¾ö·½·¨¡£ÒòΪÎÒÔÚ±àÒëµÄ¹ý³ÌÖÐûÓÐÓöµ½ÕâÑùµÄÎÊÌ⣬²»ÔÙһһ׸Êö¡£

£¨¶þ£©±àÒëÉú³É¿ÉÖ´ÐÐÎļþµÄλÖÃ

     ÔÚ·¾¶/home/apue.2e/ÏÂËäÈ»ÓÐËùÓеÄÔ´Îļþ£¬¶¼ÊÇÒÔfigx.xµÄÐÎʽÃüÃû¡£µ«ÊÇʵ¼Ê±àÒëµÄ¹ý³Ì²¢²»ÊDZàÒëµÄÕâЩÎļþ¡£¶øÊDZàÒëÔڸ÷¾¶Ï¸÷¸öÎļþ¼ÐÖеĺó׺ÃûΪ£ª.cµÄ³ÌÐò¡£×÷Õß°ÑͬһÕ½ڻòÕßÏà½ü¼¸¸öÕ½ڵÄÔ´´úÂë·ÅÔÚijһ¸öÎļþ¼ÐÏÂÃæ£¨includeºÍlibÎļþ¼Ð³ýÍ⣩¡£¶øÎļþ¼ÐµÄÃüÃûÒ»°ãÊǺ͸ÃÕ¶ÔÓ¦µÄ±êÌâÊÇÒ»Öµģ¬²ÉÓõÄÊÇÓ¢ÎıêÌâµÄÈ«³Æ»ò¼òд¡£Æ©È磬advioÎļþ¼Ð¶ÔÓ¦Chapter 14. Advanced I/O£¬¸ÃÕµĴúÂë¾Í·ÅÔÚ¸ÃÎļþ¼ÐÏÂÃæ¡£»¹ÓÐÎļþ¼Ðproc¶ÔÓ¦Chapter 8. Process Control£¬Îļþ¼Ðtermios¶ÔÓ¦Chapter 18. Terminal I/OµÈµÈ£¬»ù±¾ÉÏÿһÕµĴúÂë¶¼¿ÉÒÔÔÚÕâЩÎļþ¼ÐÖÐÕÒµ½¡£

£¨Èý£©ÈçºÎ±àÒëµ¥¶ÀµÄÔ´Îļþ

     ͨ¹ýmakeÃüÁîÊÇÖ±½Ó½«ËùÓеÄÔ´³ÌÐò±àÒë³É¿ÉÖ´ÐÐÎļþµÄ¡£¶ÔÓÚϲ»¶Ð޸ĺ͵÷ÊÔ³ÌÐòµÄÅóÓÑÀ´Ëµ£¬makeÉú³ÉµÄ¿ÉÖ´ÐÐÎļþÏÔÈ»²»¾ßÓÐÕâÑùµÄ¹¦ÄÜ£¬¶øÇÒ£¬Ò²²»¿ÉÄÜÐÞ¸ÄÁËÒ»¸öÔ´Îļþ£¬È»ºó»¹Òªmake¡£ÈçºÎÐèÒª±àÒëºÍµ÷ÊÔµ¥¸ö³ÌÐòµÄ»°£¬·½·¨ÈçÏ£º

1.Ê×ÏÈ»¹ÊÇÒªÓÃmake¶ÔËùÓÐÎļþ½øÐбàÒë¡£³É¹¦±àÒëºó£¬»áÔÚWKDIR£¯lib£¯ÏÂÉú³É¿âÎļþlibapue.a£¬Ö÷ÒªÊǽ«apue.h£¨Î»ÓÚWKDIR£¯include/£©Öж¨ÒåµÄËùÓÐÄÚÈÝÉú³ÉÒ»¸ö¾²Ì¬µÄ¿â£¬ÕâÑù¿ÉÒÔ·½±ãµ÷Óá£

2.ÎÒÃÇÒÔWKDIR/ϵÄfig1.3£¨ÊµÏÖls²¿·Ö¹¦ÄÜ£©ÎļþΪÀý˵Ã÷ÐèÒªÐ޸ĵĵط½¡£½«fig1.3ÎļþÖØÃüÃûΪfig1.3.c£¬È»ºó±à¼­¸ÃÎļþ£¬½«°üº¬Í·ÎļþµÄÒ»ÐдúÂ룺

#include "apue.h"  //ĬÈÏËùÒýÓÃÍ·ÎļþµÄλÖÃΪµ±Ç°µÄ·¾¶WKDIR=/home/apue.2e

ÐÞ¸ÄΪ

#include "include/apue.h"

¼´Í·Îļþapue.hµÄλÖÃΪµ±Ç°Â·¾¶ÏÂinlucdeÎļþ¼ÐÖУ¬Õâ¸ö¾ÍÕýÈ·µÄÖ¸¶¨ÁËapue.hµÄλÖá£

ÕâÑù¾Í¿ÉÒÔ½øÐбàÒëÁË£¬µ«ÔÚ±àÒëµÄʱºò»¹Òª¼ÓÉÏ¿âÎļþlibapue.a£¬ÒòΪ¸ÃÎļþʵÏÖÁËapue.hÖеÄËùÓй¦ÄÜ£¬Ö÷ÒªÓг£ÓÃÍ·Îļþ£¬ºê¶¨ÒåÒÔ¼°×Ô¶¨Ò庯ÊýµÄʵÏÖ¡£

ÊäÈëÃüÁî

#gcc fig1.3.c lib/libapue.a  

Ôò»áÉú³É¿ÉÖ´ÐÐÎļþa.out¡£Ö´ÐÐÃüÁî

#./a.out /home

ÔòÁгöÎÒµÄ/home·¾¶ÏµÄËùÓÐÎļþºÍÎļþ¼Ð£º

.

..

david

simsun .ttc

simkai.ttf

simsun.ttf

MYKERNEL

unix_advance_program

freebsd

APUE Source Code

LumaQQ

apue.2e

bash-script

lumaqq_2005_patch_2006.01.22.15.00.zip

lumaqq_2005-linux_gtk2_x86_with_jre.tar

apue_src_complied.tar

 

   µ±È»£¬Èç¹ûÐèÒª±àÒëµÄÊǸ÷¸öÎļþ¼ÐÖеÄÒ»¸öÔ´³ÌÐòʱ£¬ÔòÖ»Ðè¶ÔËù°üº¬µÄÍ·Îļþapue.hµÄ·¾¶×÷Ïà¶ÔÐ޸쬏ÄΪ

#include "../include/apue.h"

ÒÔ¼°±àÒëÊÇ¿âÎļþµÄλÖÃÒ²ÏàÓ¦Ð޸쬏ÄΪ£º

#gcc sourcefile.c ../lib/libapue.a

    ÖÁ´Ë£¬APUEµÚ¶þ°æ×÷ÕßÌṩµÄÔ´Âë±àÒë·½·¨ºÍµ¥¶ÀÔ´ÂëµÄ±àÒë¶¼ÒѾ­ÊµÏÖ¡£

 

 

 

 

 

Ç×£¬Äú»¹Ã»ÓеǼ,Çë[µÇ¼]»ò[×¢²á]ºóÔÙ½øÐÐÆÀÂÛ