win32´íÎóÂëºÍlinuxµÄ´íÎóÂëµÄ¼òµ¥×ª»»
ÎÒÃÇÖªµÀ£¬ÔÚlinuxÏ£¬ÎÒÃÇÓÃerrnoÀ´²é¿´API·µ»ØµÄ´íÎóÂ룬²¢ÓÃstrerror(errno)À´»ñµÃ´íÎóÐÅÏ¢¡£
¶øÔÚwindowsÏÂÒ²ÓÐÕâµÄ´íÎóÂ룬¿ÉÒÔÓÃGetLastError
À´»ñµÃ£¬ÔÚwindowsÏ£¬Òª»ñµÃ´íÎóÂë¶ÔÓ¦µÄÐÅÏ¢¾ÍûÓÐlinuxÏÂÄÇô·½±ãÁË¡£
Æä»ñµÃ·½Ê½¿ÉÒԲο¼¡¶windowsºËÐıà³Ì¡·¡£
µ«ÎÒÃÇÒ²¿ÉÒÔÓÃlinuxϵÄapiÀ´»ñµÃwindowsϵĴíÎóÐÅÏ¢£¬ÆäÌõ¼þ¾ÍÊǰÑwindowsϵĴíÎóÂëת»»³ÉlinuxÏÂÏàÓ¦µÄ´íÎóÂ룬ȻºóÔÙµ÷ÓÃ
strerror(errno)À´»ñµÃ´íÎóÐÅÏ¢¡£
Èç¹ûÎÒÃÇÔÚwindowsÏÂÓÃcygwinÀ´Ð´³ÌÐò£¬ÄÇô´ÓwindowsϵÄAPI»ñµÃµÄ´íÎóÂð£¬Èç¹ûÓÃlinuxϵĺ¯Êýstrerror(errno)À´ÏÔʾµÄ»°£¬ÄÇôÎÒÃǾÍÒª×öÒ»¸öwin32´íÎóÂëºÍlinuxÏ´íÎóÂëµÄÒ»¸ö¼òµ¥×ª»»¡£
Õâ¸ö¼òµ¥×ª»»µÄº¯ÊýÈçÏ£º
int w32error_to_errno(unsigned int w32error)
{
switch (w32error) {
case ERROR_INVALID_FUNCTION:
return EBADRQC;
case ERROR_FILE_NOT_FOUND:
case ERROR_PATH_NOT_FOUND:
case ERROR_INVALID_NAME:
return ENOENT;
case ERROR_TOO_MANY_OPEN_FILES:
return EMFILE;
case ERROR_ACCESS_DENIED:
return EACCES;
case ERROR_INVALID_HANDLE:
return EBADF;
case ERROR_NOT_ENOUGH_MEMORY:
return ENOMEM;
case ERROR_OUTOFMEMORY:
return ENOSPC;
case ERROR_INVALID_DRIVE:
case ERROR_BAD_UNIT:
return ENODEV;
case ERROR_WRITE_PROTECT:
return EROFS;
case ERROR_NOT_READY:
case ERROR_SHARING_VIOLATION:
return EBUSY;
case ERROR_BAD_COMMAND:
return EINVAL;
case ERROR_SEEK:
case ERROR_NEGATIVE_SEEK:
return ESPIPE;
case ERROR_NOT_SUPPORTED:
return EOPNOTSUPP;
case ERROR_BAD_NETPATH:
return ENOSHARE;
default:
/* generic message */
return ENOMSG;
}
}
ÄÇô£¬Èç¹ûÎÒÃÇÏëÊä³ö´íÎóÐÅÏ¢£¬¾Í¿ÉÒÔÕâÑùÁË
errno = w32error_to_errno(GetLastError());
strerror(errno);
ËäÈ»£¬²»ÄÜ»ñµÃÍêȫ׼ȷµÄ´íÎóÐÅÏ¢£¬µ«Õâ¸ö¶ÔÓÚ¿äwin32ºÍlinuxµÄ±à³ÌÀ´Ëµ£¬ÖÁÉÙ¿ÉÒÔÊ¡ÏÂÒ»²¿·ÖÂé·³¡£
Ïà¹ØÎĵµ£º
LinuxÏÂJDKµÄ°²×°²½Ö裺
µÚÒ»²¿£º¸ÄȨÏÞ
[root@wxr java]# pwd
/usr/java
[root@wxr java]# chomd 755 jdk-6u19-linux-i586.bin
Ê×Ïȸü¸Ä²Ù×÷ȨÏÞ£¬¼ÓÈëдÈëºÍÖ´ÐеÄȨÏÞ¡£
µÚ¶þ²¿£º°²×°
Ö´ÐÐÕâ¸öjdk-6u19-linux-i586.bin¶þ½øÖÆ¿ÉÖ´ÐгÌÐò£¬ÊµÏÖ°²×°£º
[root@wxr java]# ./jdk-6u19-linux- ......
½ø³ÌÒ»µ©µ÷ÓÃÁËwait£¬¾ÍÁ¢¼´×èÈû×Ô¼º£¬ÓÉwait×Ô¶¯·ÖÎöÊÇ·ñµ±Ç°½ø³ÌµÄij¸ö×Ó½ø³ÌÒѾÍ˳ö£¬Èç¹ûÈÃËüÕÒµ½ÁËÕâÑùÒ»¸öÒѾ±ä³É½©Ê¬µÄ×Ó½ø³Ì£¬wait ¾Í»áÊÕ¼¯Õâ¸ö×Ó½ø³ÌµÄÐÅÏ¢£¬ ²¢°ÑËü³¹µ×Ïú»Ùºó·µ»Ø£»Èç¹ûûÓÐÕÒµ½ÕâÑùÒ»¸ö×Ó½ø³Ì£¬wait¾Í»áÒ»Ö±×èÈûÔÚÕâÀֱµ½ÓÐÒ»¸ö³öÏÖΪֹ¡£
wait£¨µÈ´ý×Ó½ø³ÌÖжϻò½áÊø£©
Ïà¹Øº¯Êý waitp ......
Ò»¡¢ÌáǰµÄ»°
¡¡¡¡ÒªËµCÓïÑÔºÍLinuxµÄ¹ØÏµ´ó¼ÒÓ¦¸Ã¶¼²»»áİÉú£¬LinuxϵͳÄں˾ÍÊÇÓÃCÓïÑÔ¿ª·¢µÄ£¬ËùÒÔËùÓеÄLinuxϵͳÏÂÃæ ¶¼»áÓÐCµÄ±àÒëµ÷ÊÔ¹¤¾ß£¬²»¹ýÕâЩ¹¤¾ß¶¼ÊÇÃüÁîʽµÄ£¬Õýʽ¿ª·¢µÄ»°»áºÜ²»·½±ã¡£FedoraÔÚ°²×°µÄʱºò¿ÉÒÔÑ¡Ôñ°²×°Fedora Eclipse£¬Õâ¸öIDEºÜÇ¿´ó£¬C£¬C++£¬Java£¬PythonµÈµÈ¶¼Ö§³Ö£¬¶øÇÒ±àÒ룬µ÷ÊÔºÍ ......
linuxϵͳÎļþ½éÉÜ
Îļþϵͳ·ÖΪÐí¶à²¿·Ö£¬Í¨³£´Ó¸ùÎļþϵͳÓУº /bin , /lib , /etc , /dev ,
¼°Ò»Ð©ÆäËû£» /usr Îļþϵͳ°üº¬³ÌÐòºÍ²»¸Ä±äµÄÊý¾Ý£» /var Îļþϵͳ°üº¬¸Ä±äµÄÊý¾Ý(ÀýÈçlogÎļþ)£» /home
Îļþϵͳ°üº¬Ã¿¸öÓû§µÄ¸öÈËÎļþ¡£
ÿ̨»úÆ÷¶¼ÓиùÎļþϵͳ/
(Ò»°ãÔÚ±¾µØÅÌÖУ¬µ±È»Ò²¿ÉÒÔÔ ......
ÎÄÕÂÀ´Ô´£ºhttp://www.ibm.com/developerworks/cn/linux/kernel/l-kn26sch/index.html
¼¶±ð£º ³õ¼¶
ÑîɳÖÞ (pubb@163.net), ¹ú·À¿Æ¼¼´óѧ¼ÆËã»úѧԺ, 2004 Äê 4 ÔÂ
2004 Äê 4 ÔÂ 01 ÈÕ
±¾ÎÄ´Ó Linux 2.4 µ÷¶ÈϵͳµÄȱÏÝÈëÊÖ£¬Ïêϸ·ÖÎöÁË Linux 2.6 µ÷¶ÈϵͳµÄÔÀíºÍʵÏÖϸ½Ú£¬²¢¶ÔÓëµ÷¶ÈϵͳÏà¹ØµÄ¸ºÔØÆ½ºâ¡¢NUMA ½á¹¹Ò ......