linux¶¯Ì¬¿âµÄ±àÒëÓëʹÓÃ
ÔÎĵØÖ·£ºhttp://hi.baidu.com/linuxlife/blog/item/0d3e302ae2384d3a5343c1b1.html
LinuxÏµĶ¯Ì¬¿âÒÔ.soΪºó׺£¬ÎÒÒ²Êdzõ´ÎÔÚLinuxÏÂʹÓö¯Ì¬¿â£¬Ð´Ò»µãÈëÃŲ½Ö裬ÒÔ±ãÒÔºóÄÜ·½±ãʹÓá£
µÚÒ»²½£º±àдLinux³ÌÐò¿â
Îļþ1.¶¯Ì¬¿â½Ó¿ÚÎļþ
//¶¯Ì¬¿â½Ó¿ÚÎļþgetmaxlen.h
#ifndef _GETMAXLEN_H_
#define _GETMAXLEN_H_
int getMaxLen(int *sel,int N);
#endif
Îļþ2.¶¯Ì¬¿â³ÌÐòʵÏÖÎļþ
//¶¯Ì¬¿â³ÌÐòʵÏÖÎļþgetmaxlen.c
#include "getmaxlen.h"
int getMaxLen(int *sel,int N)
{
int n1=1,n2=1;
for(int i=1;i<N;i++)
{
if(sel[i]>sel[i-1])
{
n2 ++;
if(n2 > n1)
{
n1 = n2;
}
}
else
{
n2 = 1;
}
}
return n1;
}
µÚ¶þ²½£º±àÒëÉú³É¶¯Ì¬¿â
gcc getmaxlen.c –fPIC –shared –o libtest.so
ÓÉÒÔÉÏÃüÁîÉú³É¶¯Ì¬¿âlibtest.so£¬ÎªÁ˲»ÐèÒª¶¯Ì¬¼ÓÔØ¶¯Ì¬¿â£¬ÔÚÃüÁîʱÐèÒÔlib¿ªÍ·ÒÔ.soΪºó׺¡£
–fPIC£º±íʾ±àÒëΪλÖöÀÁ¢µÄ´úÂ룬²»ÓôËÑ¡ÏîµÄ»°±àÒëºóµÄ´úÂëÊÇλÖÃÏà¹ØµÄËùÒÔ¶¯Ì¬ÔØÈëʱÊÇͨ¹ý´úÂ뿽±´µÄ·½Ê½À´Âú×㲻ͬ½ø³ÌµÄÐèÒª£¬¶ø²»ÄÜ´ïµ½ÕæÕý´úÂë¶Î¹²ÏíµÄÄ¿µÄ¡£
–shared£ºÖ¸Ã÷±àÒë³É¶¯Ì¬¿â¡£
µÚÈý²½£ºÊ¹Óö¯Ì¬¿â
1. ±àÒëʱʹÓö¯Ì¬¿â
Îļþ1.¶¯Ì¬¿âʹÓÃÎļþtest.c
//ʹÓö¯Ì¬¿âlibtest.so,¸ÃÎļþÃûΪtest.c
#include "getmaxlen.h"
int main()
{
Ïà¹ØÎĵµ£º
Ò»¡¢½ø³Ì¿ØÖÆ£º
fork
´´½¨Ò»¸öнø³Ì
clone
°´Ö¸¶¨Ìõ¼þ´´½¨×Ó½ø³Ì
execve
ÔËÐпÉÖ´ÐÐÎļþ
exit
ÖÐÖ¹½ø³Ì
_exit
Á¢¼´ÖÐÖ¹µ±Ç°½ø³Ì
getdtablesize
½ø³ÌËùÄÜ´ò¿ªµÄ×î´óÎļþÊý
getpgid
»ñȡָ¶¨½ø³Ì×é±êʶºÅ
setpgid
ÉèÖÃÖ¸¶¨½ø³Ì×é±êÖ¾ºÅ
getpgrp
»ñÈ¡µ±Ç°½ø³Ì×é±êʶºÅ
setpgrp
ÉèÖõ±Ç°½ø³Ì×é±êÖ¾ºÅ
g ......
Èç¹ûÄãÊÇËÄ´¨Ñ§Éú£¬Èç¹ûÄãÊDz¦ºÅÉÏÍø£¬Èç¹ûÄãÏëѧlinux¡£ÄÇôÐͬͨÐŲ¦ºÅÆ÷Ò»¶¨ÈÃÄãÍ´²»ÓûÉú~~~
µÚÒ»ÖÖ·½·¨£º×ÔÁ¦¸üÉú£¬ÐéÄâ»ú´úÀí·¨
Õâ·½·¨¾ø¶Ô¿ÉÒÔÈÃÄãÔÚlinuxÏÂÉϵÃÁËÍø£¬µ«·½·¨ºÃ»µ£¬ÒÔ¼°ÊÇ·ñ²ÉÓÃÄú×Ô¼ºµàÁ¿~
Ϊ´ËÄãÐèÒªÏ ......
ǶÈëʽLinuxϵͳÂþ̸
ÊÂÎï×ÜÓиöºËÐÄ£¬¸´ÔÓµÄÊÂÎï×Ü¿ÉÒÔÄ£¿é»¯¡¢²ã´Î»¯£¬Ç¶Èëʽ
LinuxÒ²Èç´Ë¡£Ñ§Ï°Ç¶ÈëʽLinuxÀ§ÄÑ£¬Ö÷ÒªÒòÎªÉæ¼°ÖªÊ¶ºÍ¸ÅÄî¹ý¶à£¬¼´±È½Ï¸´ÔÓ£¬ËùÒÔѧϰǶÈëʽLinuxµÄ¾ÍÐèÒªÕÒµ½ºËÐÄ£¬ÐèҪģ¿é»¯£¬ÐèÒª½øÐвã´Î»®·Ö¡£
ǶÈëʽLinuxϵͳ×öÄ£¿é»¯´¦Àí¿É»®·ÖΪBootloader£¨ ......
linuxĿ¼¼Ü¹¹
/ ¸ùĿ¼
/bin ³£ÓõÄÃüÁî
binary file µÄÄ¿錄
/boot ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ
(kernel) ÔÚÄÚ
/boot/grub/menu.lst GRUBÉèÖÃ
/boot/vmlinuz ÄÚºË
......
ʲôÊÇLinux£¿
Ò²ÐíºÜ¶àÈ˻᲻мµÄ˵£¬Linux²»¾ÍÊǸö²Ù×÷ϵͳô¡£´í£¡Linux²»ÊÇÒ»¸ö²Ù×÷ϵͳ£¬ÑϸñÀ´½²£¬LinuxÖ»ÊÇÒ»¸ö²Ù×÷ϵͳÖеÄÄںˡ£ÄÚºËÊÇʲô£¿Äں˽¨Á¢Á˼ÆËã»úÈí¼þÓëÓ²¼þÖ®¼äͨѶµÄƽ̨£¬ÄÚºËÌṩϵͳ·þÎñ£¬±ÈÈçÈÎÎñµ÷¶È£¬Îļþ¹ÜÀí¡¢ÐéÄâÄÚ´æ¡¢É豸I/OµÈ¡£
LinuxÄں˵Ŀª·¢ÒѾ¾ÀúÁËÒ»¸öÂþ³¤µÄ¹ý³Ì£¬×î³õÊÇ L ......