ÔÚlinuxÏ´´½¨¿âº¯Êý
LinuxÏ´´½¨¿âº¯Êý
By luster¡¡¡¡
luster@linuxaid.com.cn
2001-8-16
±¾ÎļþÖ÷Òª²Î¿¼Program Library HOWTO£¬
×÷ÕßÊÇluster£¨hwang@ustc.edu£©£¬
ËùÓзÇÉÌҵĿµÄµÄÔٴη¢Ðб¾Îļþ¶¼ÊÇÔÊÐíµÄ£¬²»¹ýÇë±£Áô×÷ÕßÐÅÏ¢ºÍ±¾°æÈ¨ÉùÃ÷¡£±¾ÎļþÊ×ÏÈÔÚwww.linuxaid.com.cn·¢²¼¡£
1. ½éÉÜ
ʹÓÃGNUµÄ¹¤¾ßÎÒÃÇÔõôÔÚLinuxÏ´´½¨×Ô¼ºµÄ³Ìʽº¯Êý¿â?Ò»¸ö“³Ìʽº¯Êý¿â”¼òµ¥µÄ˵¾ÍÊǸöÎļþ°üº¬ÁËһЩ±àÒëºÃµÄ´úÂëºÍÊý¾Ý£¬ÕâЩ±àÒëºÃµÄ´ú ÂëºÍÊý¾ÝÄÜÔÚÊÂºó¹©ÆäËûµÄ³ÌʽʹÓᣳÌʽº¯Êý¿âÄÜʹÕû¸ö³Ìʽ¸ü¼ÓÄ£¿é»¯£¬¸üÈÝÒ×ÖØÐ±àÒ룬¶øÇÒ¸ü·½±ãÉý¼¶¡£
³Ìʽº¯Êý¿â¿É·ÖΪ3ÖÖÀàÐÍ£º¾²Ì¬º¯Êý¿â £¨static libraries£©¡¢¹²Ïíº¯Êý¿â£¨shared libraries£©ºÍ¶¯Ì¬¼ÓÔØº¯Êý¿â£¨dynamically loaded libraries£©¡£
¾²Ì¬º¯Êý¿âÊÇÔÚ³ÌʽִÐÐǰ¾Í¼ÓÈ뵽Ŀ±ê³ÌʽÖÐÈ¥ÁË£»¶ø¹²Ïíº¯Êý¿âÔòÊÇÔÚ³ÌʽÆô¶¯µÄʱºò¼ÓÔØµ½³ÌʽÖУ¬ËûÄܱ»²»Í¬µÄ³Ìʽ¹²Ïí£»¶¯Ì¬¼ÓÔØº¯Êý¿âÔòÄÜÔÚ³Ìʽ ÔËÐеÄËùÓÐʱºò¶¯Ì¬µÄ¼ÓÔØ¡£Êµ¼ÊÉÏ£¬¶¯Ì¬º¯Êý¿â²¢·ÇÁíÍâÒ»Öֿ⺯Êý¸ñʽ£¬²î±ðÊǶ¯Ì¬¼ÓÔØº¯Êý¿âÊÇÔõô±»³ÌʽԱʹÓõġ£ºóÃæÎÒÃǽ«¾ÙÀý˵Ã÷¡£
2. ¾²Ì¬º¯Êý¿â
¾²Ì¬º¯Êý¿âʵ¼ÊÉϾÍÊǼòµ¥µÄÒ»¸öÆÕͨµÄÄ¿±êÎļþµÄ¼¯ºÏ£¬Ò»°ãÀ´ËµÏ°¹ßÓÓ.a”×÷ΪÎļþµÄºó׺¡£ÄÜÓÃarÕâ¸ö³ÌʽÀ´²úÉú¾²Ì¬º¯Êý¿âÎļþ¡£Ar ÊÇarchiverµÄËõд¡£¾²Ì¬º¯Êý¿âĿǰÒѲ»ÔÚÏñÒÔǰÓõÃÄÇô¶àÁË£¬Ö÷ÒªÊǹ²Ïíº¯Êý¿âºÍÖ®Ïà±È½ÏÓзdz£¶àµÄÓÅÊÆµÄÔÒò¡£ÂýÂýµØ£¬´ó¼Ò¶¼Ï²»¶Ê¹Óù²Ïíº¯Êý ¿âÁË¡£²»¹ý£¬ÔÚһЩ³¡Ëù¾²Ì¬º¯Êý¿âÈÔÈ»ÔÚʹÓã¬Ò»À´ÊDZ£³ÖһЩºÍÒÔǰijЩ³ÌʽµÄ¼æÈÝ£¬¶þÀ´ËûÃèÊöÆðÀ´Ò²±È½Ï¼òµ¥¡£
¾²Ì¬¿âº¯ÊýÔÊÐí³ÌʽԱ°Ñ³ÌʽlinkÆðÀ´¶ø²»ÓÃÖØÐ±àÒë´úÂ룬½ÚÊ¡ÁËÖØÐ±àÒë´úÂëµÄʱ¼ä¡£²»¹ý£¬ÔÚ½ñÌìÕâô¿ìËٵļÆËã»úÃæÇ°£¬Ò»°ãµÄ³ÌʽµÄÖØÐ±àÒëÒ² »¨·Ñ²»Á˶àÉÙʱ¼ä£¬ËùÒÔÕâ¸öÓÅÊÆÒѲ»ÊÇÏñËûÒÔǰÄÇôÃ÷ÏÔÁË¡£¾²Ì¬º¯Êý¿â¶ÔÑз¢ÕßÀ´Ëµ»¹ÊǷdz£ÓÐÓõģ¬ÀýÈçÄãÏë°Ñ×Ô¼ºÌṩµÄº¯Êý¸ø±ðÈËʹÓ㬲»¹ýÓÖÏë¶Ôº¯Êý µÄÔʼÂë½øÐб£ÃÜ£¬Äã¾ÍÄܸø±ðÈËÌṩһ¸ö¾²Ì¬º¯Êý¿âÎļþ¡£ÀíÂÛÉÏ˵£¬Ê¹ÓÃELF¸ñʽµÄ¾²Ì¬¿âº¯ÊýÉú³ÉµÄ´úÂëÄܱÈʹÓù²Ïíº¯Êý¿â£¨»ò¶¯Ì¬º¯Êý¿â£©µÄ³ÌʽÔËÐÐ ËÙ¶ÈÉÏ¿ìһЩ£¬´ó¸Å1£5£¥¡£
´´½¨Ò»¸ö¾²Ì¬º¯Êý¿âÎļþ£¬»òÍùÒ»¸öÒÑ´æÔڵؾ²Ì¬º¯Êý¿âÎļþÌí¼ÓеÄÄ¿±ê´úÂ룬ÄÜÓÃÏÂÃæµÄÃüÁ
ar rcs my_library.a file1.o file2.o
Õâ¸öÀý×ÓÖÐÊǰÑÄ¿±ê´úÂëfile1.oºÍfile2.o¼ÓÈëµ½my_library.aÕâ¸öº¯Êý¿âÎļþÖУ¬Èç¹ûmy_library.a²»´æÔÚ Ôò´´½¨
Ïà¹ØÎĵµ£º
Äں˰汾:2.6.28
linuxÈçºÎÀûÓûï°éϵͳ,slab·ÖÅäÆ÷·ÖÅäÄÚ´æ,ÓÃÕâЩ·½·¨µÃµ½µÄÄÚ´æÔÚÎïÀíµØÖ·É϶¼ÊÇÁ¬ÐøµÄ, È»¶ø,ÓÐЩʱºò,ÿ´ÎÇëÇóÄÚ´æÊ±,ϵͳ¶¼·ÖÅäÎïÀíµØÖ·Á¬ÐøµÄÄÚ´æ¿éÊDz»ºÏÊʵÄ,¿ÉÒÔÀûÓÃС¿éÄÚ´æ“Á¬½Ó”³É´ó¿é¿ÉʹÓõÄÄÚ´æ.ÕâÔÚ²Ù×÷ϵͳÉè¼ÆÖÐÒ²±»³ÆÎª “ÄÚ´æÆ´½Ó”,ÏÔÈ»,ÄÚ´æÆ´½ÓÔÚÐèÒª½Ï´óÄÚ ......
linux϶¨Ê±Ö´Ðмƻ®ÈÎÎñ
²é¿´/etc/crontabÎļþ
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cr ......
~/test
|
|
|------main.c
|------lib
| |
| |------StringLen.h
| |------Strlen.c
| |------Strnlen.c
----------------StringLen.h:
#ifndef _STRING ......
(1)dev
ÊÇÉ豸(device)µÄÓ¢ÎÄËõд¡£Õâ¸öĿ¼¶ÔËùÓеÄÓû§¶¼Ê®·ÖÖØÒª¡£ÒòΪÔÚÕâ¸öĿ¼Öаüº¬ÁËËùÓÐLinuxϵͳÖÐʹÓõÄÍⲿÉ豸¡£µ«ÊÇÕâÀï²¢²»ÊǷŵÄÍⲿÉ豸µÄÇý¶¯³ÌÐò¡£ÕâÒ»µãºÍÎÒÃdz£ÓõÄwindows,
dos²Ù×÷ϵͳ²»Ò»Ñù¡£Ëüʵ¼ÊÉÏÊÇÒ»¸ö·ÃÎÊÕâЩÍⲿÉ豸µÄ¶Ë¿Ú¡£ÎÒÃÇ¿ÉÒԷdz£·½±ãµØÈ¥·ÃÎÊÕâЩÍⲿÉ豸£¬ºÍ·ÃÎÊÒ»¸öÎļþ£¬Ò»¸ö ......
½ñÌìѧϰÁËwrite ºÍread ,»¹ÓÐopen º¯Êý¡£×îÏÂÃæÊÇÎÒ×Ô¼ºÐ´µÄÒ»¸öС³ÌÐò£¬ÊìϤһϼ¸¸ö³ÌÐòµÄÓ¦Óá£
writeº¯ÊýÔÐÍÊÇsize_t write(fd, buf, size);ÆäÖÐfdÊÇÎļþÃèÊö·û£¬Ò²ÊÇ»º³åÇøÖеĶ«Î÷½«ÒªÐ´ÈëµÄµØ·½£¬°×»°Ò»µãÀ´Ëµ£¬fd¾ÍÊÇÒ»¸öÄ㽫Ҫ·Å¶«Î÷½øÈ¥µÄÈÝÆ÷µÄ±àºÅ¡£buf ¾ÍÊÇÄãËùÒª´æµÄ¶«Î÷µÄÀ´Ô´¡£size ²»ÓÃ˵£ ......