LINUX ¾²Ì¬¿âºÍ¶¯Ì¬¿â
¿âÓж¯Ì¬Ó뾲̬Á½ÖÖ£¬¶¯Ì¬Í¨³£ÓÃ.soΪºó׺£¬¾²Ì¬ÓÃ.aΪºó׺¡£ÀýÈ磺libhello.so libhello.a
1£¬Éú³É¿â
µÚÒ»²½Òª°ÑÔ´´úÂë±àÒï³ÉÄ¿±ê´úÂë¡£ÒÔÏÂÃæµÄ´úÂëΪÀý£¬Éú³ÉÉÏÃæÓõ½µÄhello¿â£º
/* hello.c */
#include
void sayhello()
{
printf("hello,world\n");
}
ÓÃgcc±àÒï¸ÃÎļþ£¬ÔÚ±àÒïʱ¿ÉÒÔʹÓÃÈκÎÈ«·¨µÄ±àÒï²ÎÊý£¬ÀýÈç-g¼ÓÈëµ÷ÊÔ´úÂëµÈ£º
gcc -c hello.c -o hello.o
1£©.Á¬½Ó³É¾²Ì¬¿â
ÏÖÔÚÎÒÃÇ´´½¨libhello¾²Ì¬¿âÎļþ:
$ gcc -c libhello -o libhello.o
$ ar rcs libhello.a libhello.o
ÆäÖÐarÖеÄrcsµÄÒâ˼ÊÇ£º r±íÃ÷½«Ä£¿é
¼ÓÈëµ½¾²Ì¬¿âÖУ¬c±íʾ´´½¨¾²Ì¬¿â£¬s±íʾÉú²úË÷Òý¡£
2£©.Á¬½Ó³É¶¯Ì¬¿â
gcc -fpic/fPIC -c source.c -o source.o
gcc -shared -Wl,-soname,your_soname -o library_name file_list library_list
˵Ã÷:
-fpic»òÕß-fPIC±íÃ÷´´½¨position independent code£¬Õâͨ³£ÊÇ´´½¨¹²Ïí¿â±ØÐëµÄ¡£
-Wl ±íÃ÷¸øÁ´½ÓÆ÷´«ËͲÎÊý£¬ËùÒÔÕâÀï-soname, library_name Ϊ¸øÁ´½ÓÆ÷µÄ²ÎÊý¡£
-shared ±íÃ÷ÊÇʹÓù²Ïí¿â
ÏÂÃæÊÇʹÓÃa.cºÍb.c´´½¨¹²Ïí¿âµÄʾÀý£º
gcc -fPIC -g -c -Wall a
Ïà¹ØÎĵµ£º
ÔÚLinuxÏÂдÁ˸öСµÄsocket³ÌÐò£¬·ÖΪ¿Í»§¶ËºÍ·þÎñÆ÷¶Ë£¬·þÎñ¶Ë¿ªÒ»¸ö¶Ë¿Ú(20000)£¬×öΪһ¸ödaemon£¬µÈ´ý¿Í»§µÄÁ¬½ÓÇëÇó¡£Ò»µ©Óпͻ§Á¬½Ó£¨¿Í»§¶ËµÄIPºÍ¶Ë¿ÚºÅÊDz»¹Ì¶¨µÄ£©£¬·þÎñÆ÷¶Ë´òÓ¡³ö¿Í»§¶ËµÄIPµØÖ·ºÍ¶Ë¿Ú£¬²¢ÇÒÏò¿Í»§¶Ë·¢ËÍ»¶ÓÐÅÏ¢ºÍʱ¼ä¡£
ÏÂÃæÊÇ ......
linuxÖÐtouchÃüÁî²ÎÊý²»³£Óã¬Ò»°ãÔÚʹÓÃmakeµÄʱºò¿ÉÄÜ»áÓõ½£¬ÓÃÀ´ÐÞ¸ÄÎļþʱ¼ä´Á£¬»òÕßн¨Ò»¸ö²»´æÔÚµÄÎļþ,ÒÔÏÂÊÇlinuxÖÐtouchÃüÁî²ÎÊýµÄʹÓ÷½·¨:
¡¡¡¡touch [-acm][-r ref_file(²ÎÕÕÎļþ)|-t time(ʱ¼äÖµ)] file(ÎļþÃû)
¡¡¡¡example:
¡¡¡¡touch file1.txt ¸üÐÂfile1.txtµÄ´æÈ¡ºÍÐÞ¸Äʱ¼ä
¡¡¡¡touch -c file1.tx ......
ÓÐʱsystem.mapÎļþ¿ÉÒÔ°ïÖúÎÒÃÇÀí½âÄں˱àÒ룬Ëü¼Ç¼ÁËËùÓдúÂëµÄÔËÐеØÖ·¡£
system.mapÄÚÈݸñʽΪ£ºÏßÐÔµØÖ· ÀàÐÍ ·ûºÅ
¾ßÌåÄÚÈÝÈçÏ£º
00100000 A phys_startup_32
c0100000 T startup_32
c0100000 A _text &nbs ......
Ò»¡¢Ê²Ã´ÊÇ modules£¿
¡¡¡¡modules µÄ×ÖÃæÒâ˼¾ÍÊÇÄ£¿é£¬ÔÚ´ËÖ¸µÄÊÇ kernel modules£»¼òµ¥À´Ëµ£¬ Ò»¸öÄ£¿éÌṩÁËÒ»¸ö¹¦ÄÜ£¬Èç isofs¡¢minix¡¢nfs¡¢lp µÈµÈ¡£´«Í³À´½²£¬Ä£¿é»¯ÓÐÁ½¸ö·½·¨½â¾ö£º Éè¼ÆÕß¿ÉÒ԰Ѹ÷ÏÄÜ·ÖÀëµ½µ¥¶ÀµÄ½Ð×öÏ̵߳Ĵ¦ÀíÖÐÈ¥£¬»òÕßÊǽ«ÄÚºËÒÔ°üº¬/ÅųýһЩ¹¦Äܵķ½Ê½ÖØбàÒë¡£Èç¹û°Ñ¹¦ÄÜ·ÖÀëµ½Ïß³ ......
1 Ç°ÑÔ
Ðí¶àÈËÔÚ·ÖÎölinux´úÂëʱ¶ÔÍøÂ粿·Ö£¨Ö÷ÒªÊÇsrc/linux/net£¬src/linux/include/net¼°src/linux/include/linuxĿ¼ÏµÄÎļþ£©±È½Ï¸ÐÐËȤ£¬È·Êµ£¬¾¡¹ÜÒѾ´ÓÊé±¾ÉÏѧµ½ÁË´óÁ¿µÄTCP/IPÔÀí£¬²»¶ÁÔ´ÂëµÄ»°£¬Í·ÄÔÖл¹Êǽ¨Á¢²»Æð¾ßÌåµÄÓ¡Ï󡣶ø·ÖÎöÕⲿ·Ö´úÂëµÄÒ»¸öÎÊÌâ±ãÊÇ´úÂëÖÚ¶à¶ø×ÊÁϺÜÉÙ¡£ÕâƪÎÄÕµÄÄ¿µÄ¾ÍÊǹ´ÀÕ³ö ......