Linux¾²Ì¬¿âºÍ¶¯Ì¬¿â
¿â´Ó±¾ÖÊÉÏÀ´ËµÊÇÒ»ÖÖ¿ÉÖ´ÐдúÂëµÄ¶þ½øÖƸñʽ£¬¿ÉÒÔ±»ÔØÈëÄÚ´æÖÐÖ´ÐС£¿â·Ö¾²Ì¬¿âºÍ¶¯Ì¬¿âÁ½ÖÖ¡£
¾²Ì¬¿âºÍ¶¯Ì¬¿âµÄÇø±ð
1. ¾²Ì¬º¯Êý¿â
ÕâÀà¿âµÄÃû×ÖÒ»°ãÊÇlibxxx.a£»ÀûÓþ²Ì¬º¯Êý¿â±àÒë³ÉµÄÎļþ±È½Ï´ó£¬ÒòΪÕû¸ö º¯Êý¿âµÄËùÓÐÊý¾Ý¶¼»á±»ÕûºÏ½øÄ¿±ê´úÂëÖУ¬ËûµÄÓŵã¾ÍÏÔ¶øÒ×¼ûÁË£¬¼´±àÒëºóµÄÖ´ÐгÌÐò²»ÐèÒªÍⲿµÄº¯Êý¿âÖ§³Ö£¬ÒòΪËùÓÐʹÓõĺ¯Êý¶¼ÒѾ±»±àÒë½øÈ¥ÁË¡£µ±È»ÕâÒ²»á³ÉΪËûµÄȱµã£¬ÒòΪÈç¹û¾²Ì¬º¯Êý¿â¸Ä±äÁË£¬ÄÇôÄãµÄ³ÌÐò±ØÐëÖØÐ±àÒë¡£
2. ¶¯Ì¬º¯Êý¿â
ÕâÀà¿âµÄÃû×ÖÒ»°ãÊÇlibxxx.so;Ïà¶ÔÓÚ¾²Ì¬º¯Êý¿â£¬¶¯Ì¬º¯Êý¿âÔÚ±àÒëµÄʱºò ²¢Ã»Óб»±àÒë½øÄ¿±ê´úÂëÖУ¬ÄãµÄ³ÌÐòÖ´Ðе½Ïà¹Øº¯Êýʱ²Åµ÷Óøú¯Êý¿âÀïµÄÏàÓ¦º¯Êý£¬Òò´Ë¶¯Ì¬º¯Êý¿âËù²úÉúµÄ¿ÉÖ´ÐÐÎļþ±È½ÏС¡£ÓÉÓÚº¯Êý¿âûÓб»ÕûºÏ½øÄãµÄ³ÌÐò£¬¶øÊdzÌÐòÔËÐÐʱ¶¯Ì¬µÄÉêÇë²¢µ÷Óã¬ËùÒÔ³ÌÐòµÄÔËÐл·¾³ÖбØÐëÌṩÏàÓ¦µÄ¿â¡£¶¯Ì¬º¯Êý¿âµÄ¸Ä±ä²¢²»Ó°ÏìÄãµÄ³ÌÐò£¬ËùÒÔ¶¯Ì¬º¯Êý¿âµÄÉý¼¶±È½Ï·½±ã¡£
linuxϵͳÓм¸¸öÖØÒªµÄĿ¼´æ·ÅÏàÓ¦µÄº¯Êý¿â£¬Èç/lib /usr/lib¡£
¾²Ì¬¿âµÄʹÓÃ
¾²Ì¬¿âµÄ²Ù×÷¹¤¾ß£ºgccºÍar ÃüÁî¡£
±àд¼°Ê¹Óþ²Ì¬¿â
(1)Éè¼Æ¿âÔ´Âë pr1.c ºÍ pr2.c
[root@billstone make_lib]# cat pr1.c
void print1()
{
printf("This is the first lib src!\n");
}
[root@billstone make_lib]# cat pr2.c
void print2()
{
printf("This is the second src lib!\n");
}
(2) ±àÒë.c Îļþ
[bill@billstone make_lib]$ cc -O -c pr1.c pr2.c
[bill@billstone make_lib]$ ls -l pr*.o
-rw-rw-r-- 1 bill bill 804 4 ÔÂ 15 11:11 pr1.o
-rw-rw-r-- 1 bill &nbs
Ïà¹ØÎĵµ£º
ÔÚÓû§¿Õ¼ä£¬Ê¹ÓÃioctlϵͳµ÷ÓÃÀ´¿ØÖÆÉ豸£¬ÔÐÍÈçÏ£º
int ioctl(int fd, unsigned long cmd, ...);
µÚÈý¸ö²ÎÊý²»±íʾһ¸ö±äÊýÄ¿µÄ²ÎÊý£¬¶øÊÇÒ»¸öÀàÐÍ¿ÉÑ¡µÄ²ÎÊý¡£µÚÈý¸ö²ÎÊýÒÀÀµÓÚ¿ØÖÆÃüÁһЩÃüÁî²»ÓòÎÊý£¬Ò»Ð©ÓÃÒ»¸öÕûÊýÖµ£¬Ò»Ð©Ê¹ÓÃÖ¸Õë
1¡¢ioctlº¯Êý¶¨ÒåÃüÁî
ÔÚ±àдioctl´úÂë֮ǰ£¬Ê×ÏÈÐèÒª¶¨ÒåÃüÁΪÁË·ÀÖ¹ ......
Ó¦ÓóÌÐòºÍVFSÖ®¼äµÄ½Ó¿ÚÊÇϵͳµ÷Ó㬶øVFSÓë´ÅÅÌÎļþϵͳÒÔ¼°ÆÕͨÉ豸֮¼äµÄ½Ó¿ÚÊÇfile_operations½á¹¹Ìå³ÉÔ±º¯Êý¡£ÓÉÓÚ×Ö·ûÉ豸µÄÉϲãûÓдÅÅÌÎļþϵͳ£¬ËùÒÔ×Ö·ûÉ豸µÄfile_operations³ÉÔ±º¯ÊýÖ±½ÓÓÉÉ豸Çý¶¯ÌṩÁË£¬file_operationsÕýÊÇ×Ö·ûÉ豸Çý¶¯µÄºËÐÄ£¬Èçͼ£º
¶ø¶Ô¿éÉ豸À´Ëµ£¬ext2¡¢fat¡¢jffs2µÈÎļþÏµÍ ......
ÖжϣºcpuÔÚÖ´ÐгÌÐòµÄ¹ý³ÌÖУ¬³öÏÖÁËijЩͻ·¢Ê¼þʱcpu±ØÐëÔÝÍ£Ö´Ðе±Ç°µÄ³ÌÐò£¬×ªÈ¥´¦ÀíÍ»·¢Ê¼þ£¬´¦ÀíÍê±ÏºócpuÓÖ·µ»ØÔ³ÌÐò±»ÖжϵÄλÖò¢¼ÌÐøÖ´ÐÐ
¸ù¾ÝÖжÏÈë¿ÚÌø×ª·½·¨µÄ²»Í¬£¬ÖжϷÖΪÏòÁ¿ÖжϺͷÇÏòÁ¿Öжϡ£
²ÉÓÃÏòÁ¿ÖжϵÄcpuͨ³£Îª²»Í¬µÄÖжϷÖÅ䲻ͬµÄÖжϺţ¬µ±¼ì²âµ½Ä³ÖжϺŵÄÖжϵ½À´ºó£¬¾Í×Ô¶¯Ì ......
[root@localhost root]# ls -l
»áÏÔʾĿ¼»òÎļþÐÅÏ¢£ºdrwxr-xr-x 2 root root 4096 06-29 14:30 Test
-rwxr--r-- 2 root roo ......
ÔÎĵØÖ·£ºhttp://soft.yesky.com/os/lin/326/2237826.shtml
±¾ÎÄÏêϸµØ½éÉÜÁËÔÚ Linux 2.6.13 ÄÚºËÖÐÐÂÒýÈëµÄÎļþϵͳ±ä»¯Í¨Öª»úÖÆ inotify£¬²¢¾ÙÀý˵Ã÷ÁËËüµÄʹÓÃÓëµäÐÍÓ¦Óð¸Àý¡£
Ò»¡¢ÒýÑÔ
ÖÚËùÖÜÖª£¬Linux ×ÀÃæÏµÍ³Óë MAC »ò Windows Ïà±ÈÓÐÐí¶à²»ÈçÈËÒâµÄµØ·½£¬ÎªÁ˸ÄÉÆÕâÖÖ×´¿ö£¬¿ªÔ´ÉçÇøÌá³öÓû§Ì¬ÐèÒªÄÚºËÌṩ ......