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
Ïà¹ØÎĵµ£º
ɱËÀ½ø³Ì×ȫµÄ·½·¨Êǵ¥´¿Ê¹ÓÃkillÃüÁ²»¼ÓÐÞÊηû£¬²»´ø±êÖ¾¡£Ê×ÏÈʹÓÃps -efÃüÁîÈ·¶¨ÒªÉ±ËÀ½ø³ÌµÄPID£¬È»ºóÊäÈëÒÔÏÂÃüÁ
# kill pid
×¢ÊÍ£º±ê×¼µÄkillÃüÁîͨ³£¶¼ÄܴﵽĿµÄ£¬ÏÔʾZ״̬µÄ½ø³ÌÒѾËÀÍö¡£ÖÕÖ¹ÓÐÎÊÌâµÄ½ø³Ì£¬²¢°Ñ½ø³ÌµÄ×ÊÔ´ÊͷŸøÏµÍ³¡£È»¶ø£¬Èç¹û½ø³ÌÆô¶¯ÁË×Ó½ø³Ì£¬Ö ......
ÔÚLinuxϵͳÖУ¬uptime¡¢topµÈÃüÁîÅжÏÒ»¸öϵͳµÄ¸ºÔØ¡£load average·Ö±ð¼Ç¼ÁË1¡¢5¡¢15·ÖÖÓµÄϵͳƽ¾ù¸ºÔØ¡£
load average ¶Ô performance µÄÓ°Ïì?
1. Èç¹ûload average/CPUÊýÁ¿ < 3, performance is good
2. Èç¹ûload average/CPUÊýÁ¿ > 5, performance is very bad
......
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 ......
......