Ϊ Linux Ó¦ÓóÌÐò±àд DLL ÔÚ½ö½öÖ»»á±àд²å¼þµÄʱºòΪʲôҪ±àдÕû¸öÓ¦ÓóÌÐò£¿
ÎĵµÑ¡Ïî
´òÓ¡±¾Ò³
½«´ËÒ³×÷Ϊµç×ÓÓʼþ·¢ËÍ ¼¶±ð£º ³õ¼¶ Allen Wilson (wilsona@us.ibm.com), µç×ÓÉÌÎñÉè¼ÆÊ¦, IBM 2001 Äê 10 Ô 01 ÈÕ ²å¼þºÍ DLL ͨ³£ÊÇÓÃÀ´ÎÞÐë±àдÕû¸öÐÂÓ¦ÓóÌÐò¶øÌí¼Ó¹¦Äܵļ«ºÃ·½·¨¡£ÔÚ Linux ÖУ¬²å¼þºÍ DLL ÊÇÒÔ¶¯Ì¬¿âÐÎʽʵÏֵġ£µç×ÓÉÌÎñ¹ËÎʼæÉè¼ÆÊ¦ Allen Wilson ½éÉÜÁ˶¯Ì¬¿â£¬²¢ÇÒÏòÄúÑÝʾÁËÈçºÎÔÚijһ¸öÓ¦ÓóÌÐòÕýÔÚÔËÐÐÖ®ºóʹÓö¯Ì¬¿âÀ´¸ü¸Ä¸ÃÓ¦ÓóÌÐò¡£ Internet ä¯ÀÀÆ÷Óû§·Ç³£ÊìϤ²å¼þµÄ¸ÅÄî¡£´Ó Web ÉÏÏÂÔØ²å¼þ£¬Í¨³£ÕâЩ²å¼þΪä¯ÀÀÆ÷µÄÒôƵ¡¢ÊÓÆµÒÔ¼°ÌØÊâЧ¹ûÌṩÔöǿ֧³Ö¡£Ò»°ãÀ´½²£¬ÔÚ²»¸ü¸ÄÔÓÐÓ¦ÓóÌÐòµÄÇé¿öÏ£¬²å¼þΪÏÖÓÐÓ¦ÓóÌÐòÌṩй¦ÄÜ¡£ DLL ÊdzÌÐòº¯Êý£¬ËüÃÇÔÚÉè¼ÆºÍ¹¹½¨Ó¦ÓóÌÐòʱΪ¸Ã³ÌÐòËùÖª¡£Éè¼ÆÓ¦ÓóÌÐòµÄÖ÷³ÌÐòʱʹÓóÌÐò¿ò¼Ü»òµ×°å£¬ÕâЩ³ÌÐò¿ò¼Ü»òµ×°åÔÚÔËÐÐʱѡÔñÐÔµØ×°ÈëËùÐèµÄ dll£¬ÕâЩ dll λÓÚ´ÅÅÌÉÏͬÖ÷³ÌÐò·ÖÀëµÄһЩÎļþÖС£ÕâÒ»´ò°üºÍ¶¯Ì¬×°ÈëÌṩÁËÁé»îµÄÉý¼¶¡¢Î¬»¤¡¢ÒÔ¼°Ðí¿É²ßÂÔ¡£ Ëæ Linux Ò»Æð½»¸¶µÄ»¹Óм¸Ç§ÌõÃüÁîºÍÓ¦ÓóÌÐò£¬ËüÃÇÖÁÉÙ¶¼ÐèÒª libc ¿âº¯Êý¡£Èç¹û libc ......
×î½ü¸ºÔðµÄsvrѹÁ¦±È½Ï´ó£¬ÒµÎñÂß¼Óе㸴ÔÓ,ÄÜÓÅ»¯µÄµØ·½ÒѾȫ²¿ÓÅ»¯ÁË£¬ ĿǰÿÃë3k´Î£¬cpu¸ºÔØ»¹ÊÇ±È½Ï¸ß top¿´Ò»Ï£¬4ºËµÄcpu¸ºÔز»ÊÇÌ«¾ùºâ£¬´òË㿼ÂÇһϽ«ÒµÎñ½ø³ÌÖ¸¶¨µ½3¸öcpuÉÏÔËÐУ¬ÁíÍâÒ»¸öcpuרߺÔð´¦ÀíÍøÂçÊÕ·¢°ü£»´òËã³¢ÊÔһϣ¬Èç¹û»¹ÊDz»ÐУ¬ÔÙ¹ý¶Îʱ¼ä£¬·ÃÎÊÁ¿ÔÙÔö¼ÓµÄ»°£¬¾ÍÒª¼Ó»úÆ÷ÁË£¬ÎØÎØ ²¹³ä£º½ñÌì²âÊÔÁËһϣ¬Ð§¹ûͦºÃ£¬Í¬Ñù½ø³ÌÊýµÄÇé¿öÏ£¬½øÐÐcpu°ó¶¨ ÿ¸öcpu¶¼ÀûÓÃÆðÀ´ÁË£¬¸ºÔØÒ²±È²»°ó¶¨µÄÇé¿öϺÃÁËºÜ¶à ·ÖÎöÒ»ÏÂÓÐЧ¹ûµÄÔÒò£º ¿´ÁË¡¶linuxÄÚºËÉè¼ÆÓëʵÏÖ¡·µÄ42½Ú£¬¾õµÃÈËΪ¿ØÖÆÒ»ÏÂcpuµÄ°ó¶¨»¹ÊÇÓÐÓô¦µÄ
1¡¢linuxµÄSMP¸ºÔؾùºâÊÇ»ùÓÚ½ø³ÌÊýµÄ£¬Ã¿¸öcpu¶¼ÓÐÒ»¸ö¿ÉÖ´Ðнø³Ì¶ÓÁУ¬Ö»Óе±ÆäÖÐÒ»¸öcpuµÄ¿ÉÖ´ÐжÓÁÐÀï½ø³ÌÊý±ÈÆäËûcpu¶ÓÁнø³ÌÊý¶à25%ʱ£¬²Å»á½«½ø³ÌÒÆ¶¯µ½ÁíÍâ¿ÕÏÐcpuÉÏ£¬Ò²¾ÍÊÇ˵cpu0ÉϵĽø³ÌÊýÓ¦¸ÃÊÇ±ÈÆäËûcpuÉ϶࣬µ«ÊÇ»áÔÚ25%ÒÔÄÚ 2¡¢ÎÒÃǵÄÒµÎñÖкķÑcpuµÄ·ÖËÄÖÖÀàÐÍ£¬(1)Íø¿¨ÖжÏ(2)1¸ö´¦ÀíÍøÂçÊÕ·¢°ü½ø³Ì(3)ºÄ·ÑcpuµÄn¸öworker½ø³Ì(4)ÆäËû²»Ì«ºÄ·ÑcpuµÄ½ø³Ì »ùÓÚ1ÖÐµÄ ¸ºÔؾùºâÊÇÕë¶Ô½ø³ÌÊý£¬ÄÇô(1)(2)´ó²¿·Öʱ¼ä»á³öÏÖÔÚcpu0ÉÏ£¬(3)µÄn¸ö½ø³Ì»áËæ×ŵ÷¶È£¬Æ½¾ùµ½ÆäËû¶à¸öcpuÉÏ£¬ ......
1¡¢LinuxÎļþµÄÀ©Õ¹Ãû£»
һ̸µ½ÎļþÀàÐÍ£¬´ó¼Ò¾ÍÄÜÏëµ½WindowsµÄÎļþÀàÐÍ£¬±ÈÈçfile.txt¡¢file.doc¡¢file.sys¡¢file.mp3¡¢file.exeµÈ£¬¸ù¾ÝÎļþµÄºó׺¾ÍÄÜÅжÏÎļþµÄÀàÐÍ¡£µ«ÔÚLinuxÒ»¸öÎļþÊÇ·ñÄܱ»Ö´ÐУ¬ºÍºó׺ÃûûÓÐÌ«´óµÄ¹ØÏµ£¬Ö÷Òª¿´ÎļþµÄÊôÐÔÓйء£µ«ÎÒÃÇÁ˽âÒ»ÏÂLinuxÎļþµÄºó׺Ãû»¹ÊÇÓбØÒªµÄ£¬ÌرðÊÇÎÒÃÇ×Ô¼º´´½¨Ò»Ð©Îļþ£¬×îºÃ»¹ÊǼӺó׺Ãû£¬ÕâÑù×öµÄÄ¿µÄÊǽö½öÊÇΪÁËÎÒÃǵÄÔÚÓ¦ÓÃʱ·½±ã¡£
ÏÖÔÚµÄLinux×ÀÃæ»·¾³ºÍWindowsÒ»ÑùÖÇÄÜ»¯£¬ÎļþµÄÀàÐÍÊǺÍÏàÓ¦µÄ³ÌÐò¹ØÁªµÄ¡£ÔÚÎÒÃÇ´ò¿ªÄ³¸öÎļþʱ£¬ÏµÍ³»á×Ô¶¯ÅжÏÓÃÄĸöÓ¦ÓóÌÐò´ò¿ª¡£Èç¹û´ÓÕâ·½ÃæÀ´Ëµ£¬Linux×ÀÃæ»·¾³ºÍWindows×ÀÃæÃ»ÓÐÌ«´óµÄÇø±ð¡£
ÔÚLinuxÖУ¬´øÓÐÀ©Õ¹ÃûµÄÎļþ£¬Ö»ÄÜ´ú±í³ÌÐòµÄ¹ØÁª£¬²¢²»ÄÜ˵Ã÷ÎļþÊÇ¿ÉÒÔÖ´ÐУ¬´ÓÕâ·½ÃæÀ´Ëµ£¬LinuxµÄÀ©Õ¹ÃûûÓÐÌ«´óµÄÒâÒå¡£
file.tar.gz file.tgz file.tar.bz2 file.rar file.gz file.zip ... ... ÕâЩ´ó¼Ò¶¼ÊìϤ£¬Êǹ鵵Îļþ¡£ÒªÍ¨¹ýÏàÓ¦µÄ¹¤¾ßÀ´½âѹ»òÌáÈ¡£»
file.php Õâ¸ö´ó¼Ò¶¼ÖªµÀ°É£¬ÊÇÄÜÓÃphpÓïÑÔ½âÊÍÆ÷½øÐнâÊÍ£¬ÄÜÓÃä¯ÀÀÆ÷´ò¿ªµÄÎļþ£»
file.so ÕâÀàÊÇ¿âÎļþ£»
file.doc file.obt ÕâÊÇOpenOffice ÄÜ´ò¿ªµÄÎļþ£»
... ...
ÓÃһЩ¹¤¾ß´´½¨µÄÎļþ£¬Æ ......
ÎÊÌ⣺Á½Ì¨DVRͬʱÁ¬½Óͬһ̨2·µÄDVS£¬ÆäÖÐһ̨DVRÕý³£Á¬½ÓDVSµÄÁ½Â·Êä³ö£¬Ô¤ÀÀÒ²Õý³£¡£
¶øÁíһ̨DVRÖ»ÄÜÁ¬ÉÏDVSµÄ1·Êä³ö£¬Áíһ·ÔõôҲÁ¬²»ÉÏ¡£
¸ú×Ù·¢ÏÖ£¬DVRÓëDVS½¨Á¢rtspÁ¬½ÓÕý³££¬µ«ÔÚDVR·¢ËÍDESCRIBEÃüÁîÒÔºó£¬ÔÙÒ²ÊÕ²»µ½
DVSµÄÏìÓ¦£¬´íÎóºÅ104£ºConnection reset by peer
²éGoogle ·¢ÏÖÍøÉÏÓÐÕâÑù½âÊÍ£º
¢Ù£º·þÎñÆ÷µÄ²¢·¢Á¬½ÓÊý³¬¹ýÁËÆä³ÐÔØÁ¿£¬·þÎñÆ÷»á½«ÆäÖÐһЩÁ¬½ÓDownµô£»
¢Ú£º¿Í»§¹ØµôÁËä¯ÀÀÆ÷£¬¶ø·þÎñÆ÷»¹ÔÚ¸ø¿Í»§¶Ë·¢ËÍÊý¾Ý£»
¢Û£ºä¯ÀÀÆ÷¶Ë°´ÁËStop
errno
ÊǸöint±äÁ¿£¬·µ»Ø´íÎó
ÓдíÎóʱʹÓ÷½·¨
fprintf(fp, "%s", strerror(errno))
perrorÓ÷¨
#include <stdio.h>
#include <stdlib.h>
#include<errno.h>
int main(void)
{
FILE *fp;
if((fp=fopen("aaa.txt","r+"))==NULL)
{
puts("²»ÄܽøÈëÎļþ");
perror("ÔÒò");
printf("errno=%d\n",errno);
exit(1);
}
system("PAUSE");
return 0;
......
ÄÚºËÖÕÓÚ±à¹ý²¢ÇÒÉý¼¶ÁË£¬±¾À´´òËã×¥½ô¼ÌÐøÍùÏÂѧϰ¡£µ«ÊÇÔÚÀÏÆÅµÄ¹ÄÀøÏ£¬¸Ð¾õ»¹ÊÇÍ£ÏÂÀ´×ܽáϱȽϺã¬ÕâÑù¶Ô×Ô¼º¶Ô±ðÈ˶¼ÓÐËù°ïÖú¡£
0¡¢»·¾³½éÉÜ
ÎÒÊÇÔÚVirtualBox-3.1.6-59338-WinµÄÐéÄâ»úÉϰ²×°ÁËubuntu-9.10-desktop-i386.iso¡£µçÄÔ±¾ÉíÊÇXPϵͳ¡£
×¢Ò⣬ÔÚ½øÐÐÏÂÃæÖ®Ç°×îºÃ×öÒÔϹ¤×÷£º
1) °²×°ÁËÔöÇ¿°ü¡£Õâ¸ö×°ÉϺóÐéÄâ»úºÍÎÒÃǵĵçÄÔÖ®¼äÇл»ºÜÊÇ·½±ã£¬²»ÐèÒª°´ÓÒctl¼üÁË¡£ÖÁÓÚÆäËûµÄºÃ´¦£¬ÏÖÔÚ»¹Ã»Òâʶµ½£¬ºÇºÇ¡£
2) ºÍÖ÷»ú£¨XPϵͳ£©Ö®¼äÉèÖúù²ÏíÎļþ¼Ð¡£ÕâÑù±È½Ï·½±ã»¥Í¨×ÊÁÏ¡£
3) ÐéÄâ»úµÄÓ²Å̿ռä×îºÃÒª20GÒÔÉÏ¡£ÒòΪÄں˽âѹºó¾ÍÕ¼ºÜ´ó¿Õ¼äÁË£¬ÔÙ×öÆäËûµÄ£¬¿ÉÄܾͲ»·½±ãÁË¡£
1
¡¢ÏÂÔØÄÚºËÔ´Âë
µØÖ·Îª
www.kernel.org
£¬ÔÚ“
Latest
Stable
Kernel”ÏÂÃæÓиöÂÌÉ«µÄ¼ýÍ·£¬µã»÷¾ÍÄÜÏÂÔØÁË¡£
ÎÒÏÂÔØ
ÊÇ2.6.33.2£¬ÏÂÃæÒÔÕâ¸ö°æ±¾ÎªÀý½øÐн²½â¡£
½«ÏÂÔØÏÂÀ´µÄ
linux-2.6.33.2.tar.bz2
·ÅÔÚ
/usr/src
Ï¡£
2
¡¢½âѹÄÚºËÔ´Âë
ÔËÐÐÃüÁ
& ......
linux
ϵÄÎļþ½á¹¹£¬¿´¿´Ã¿¸öÎļþ¼Ð¶¼ÊǸÉÂðÓõÄ
/bin
¶þ½øÖÆ¿ÉÖ´ÐÐÃüÁî
/dev
Éè±¸ÌØÊâÎļþ
/etc
ϵͳ¹ÜÀíºÍÅäÖÃÎļþ
/etc/rc.d
Æô¶¯µÄÅäÖÃÎļþºÍ½Å±¾
/home
Óû§Ö÷Ŀ¼µÄ»ùµã£¬±ÈÈçÓû§user
µÄÖ÷Ŀ¼¾ÍÊÇ/home/user
£¬¿ÉÒÔÓÃ~user
±íʾ
/lib
±ê×¼³ÌÐòÉè¼Æ¿â£¬Óֽж¯Ì¬Á´½Ó¹²Ïí¿â£¬×÷ÓÃÀàËÆwindows
ÀïµÄ.dll
Îļþ
/sbin
ϵͳ¹ÜÀíÃüÁÕâÀï´æ·ÅµÄÊÇϵͳ¹ÜÀíԱʹÓõĹÜÀí³ÌÐò
/tmp
¹«ÓõÄÁÙʱÎļþ´æ´¢µã
/root
ϵͳ¹ÜÀíÔ±µÄÖ÷Ŀ¼£¨ºÇºÇ£¬ÌØÈ¨½×¼¶£©
/mnt
ϵͳÌṩÕâ¸öĿ¼ÊÇÈÃÓû§ÁÙʱ¹ÒÔØÆäËûµÄÎļþϵͳ¡£
/lost+found
Õâ¸öĿ¼ƽʱÊǿյģ¬ÏµÍ³·ÇÕý³£¹Ø»ú¶øÁôÏ“Î޼ҿɹ锵ÄÎļþ£¨windows
ϽÐʲô.chk
£©¾ÍÔÚÕâÀï
/proc
ÐéÄâµÄĿ¼£¬ÊÇϵͳÄÚ´æµÄÓ³Éä¡£¿ÉÖ±½Ó·ÃÎÊÕâ¸öĿ¼À´»ñȡϵͳÐÅÏ¢¡£
/var
ijЩ´óÎļþµÄÒç³öÇø£¬±È·½Ëµ¸÷ÖÖ·þÎñµÄÈÕÖ¾Îļþ
/usr
×îÅÓ´óµÄĿ¼£¬ÒªÓõ½µÄÓ¦ÓóÌÐòºÍÎļþ¼¸ºõ¶¼ÔÚÕâ¸öĿ¼¡£ÆäÖаüº¬£º
/usr/x11r6
´æ·Åxwindow
µÄĿ¼
/usr/bin
ÖÚ¶àµÄÓ¦ÓóÌÐò
/usr/sbin
³¬¼¶Óû§µÄһЩ¹ÜÀí³ÌÐò
/usr/doclinux
Îĵµ
/usr/includelinux
Ï¿ª·¢ºÍ±àÒëÓ¦ÓóÌÐòËùÐèÒªµÄÍ·Îļþ
/usr/lib
³£ÓÃµÄ ......