Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

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¸ùÎļþϵͳ½á¹¹ÔÙÈÏʶ


INTRO
¾¡¹ÜLinuxµÄ¸ùÎļþϵͳÔÚÐÎʽ±íÏÖÉÏÊÇÒ»ÌåµÄ£¨ËùÓÐÊý¾ÝĿ¼¾ùΪ¸ùĿ¼ÏµÄ×ÓĿ¼£©£¬µ«Êµ¼ÊËüÃÇÊǶà¸ö²»Í¬µÄ¡¾Âß¼­Ö÷Ìå¡¿£¨ÎªÁËʵÏÖ²»Í¬µÄÂß¼­¹¦ÄÜ£©×éºÏÔÚÒ»ÆðµÄ£¬²Î¼ûÏÂͼ¡£ÕâÒ²½âÊÍÁËΪʲôÓÐЩ½Úµã£¨Èç/var£©¿ÉÒÔ¹Ò½Óµ½²»Í¬´ÅÅÌ·ÖÇøÉÏ¡£»®·ÖÕâЩÂß¼­²¿·Ö¶ÔÇåÎú°ÑÎÕ¸ùÎļþϵͳ½á¹¹£¬ÒÔ¼°Õû¸öϵͳµÄÐÐΪ¶¼Óкܴó ......

linuxÄں˴úÂë——Ò³¿òµÄ»ØÊÕ(2.4.18)

дÕâÆªblog²ÎÕÕÁËO'Reilly µÄ¡¶Understanding the Linux Kernel¡·£¬»òÕß˵ÊǴ󲿷ֲÎÕÕ£¬Êµ¼ÊÉÏÕâ±¾Ê鹨ÓÚÕâÕÂдµÃȷʵºÜ¾­µä¡£¾¡¹ÜÈç´Ë£¬ÔÚ¿´´úÂëµÄ¹ý³ÌÖÐÎÒÈÔÈ»Óöµ½Á˺ܶàÀ§»ó£¬ÒÔÖÁÓÚ¿´¹ýÁ½±éÖ®ºóÄÔ×ÓÀﻹÊÇһ͎¬ºý¡£ËùÒÔ»¹µÃ¸Ðл´åÒ¯°ïÎÒÀíÇå³þÁË˼·£¬²»¸Òµ¡Âý£¬¸Ï½ôдÏÂÀ´·ÀÖ¹Íü¼Ç¡£(ÒÔÏ´úÂë¼°½âÊ;ùÒÔ2.4.18°æ±¾Îª ......

ÔÚ Linux ÉϹ¹½¨Ò»¸ö RADIUS ·þÎñÆ÷

×÷ΪһÃûÍøÂç¹ÜÀíÔ±£¬ÄúÐèҪΪÄúËùÐè¹ÜÀíµÄÿ¸öÍøÂçÉ豸´æ·ÅÓÃÓÚ¹ÜÀíµÄÓû§ÐÅÏ¢¡£µ«ÊÇÍøÂçÉ豸ͨ³£Ö»Ö§³ÖÓÐÏÞµÄÓû§¹ÜÀí¹¦ÄÜ¡£Ñ§Ï°ÈçºÎʹÓà Linux™ ÉϵÄÒ»¸öÍⲿ RADIUS ·þÎñÆ÷À´ÑéÖ¤Óû§£¬¾ßÌåÀ´ËµÊÇͨ¹ýÒ»¸ö LDAP ·þÎñÆ÷½øÐÐÑéÖ¤£¬¿ÉÒÔ¼¯ÖзÅÖô洢ÔÚ LDAP ·þÎñÆ÷Éϲ¢ÇÒÓÉ RADIUS ·þÎñÆ÷½øÐÐÑéÖ¤µÄÓû§ÐÅÏ¢£¬´Ó¶ø¼È ......

Linux PCIÇý¶¯µÄ±àд


×÷Õߣº²ÜÖÒÃ÷,»ªÇåÔ¶¼ûǶÈëʽѧԺ½²Ê¦¡£
PCIÊÇÍâΧÉ豸»¥ÁªµÄ¼ò³Æ(Peripheral Component Interconnect)µÄ¼ò³Æ£¬×÷ΪһÖÖͨÓõÄ×ÜÏß½Ó¿Ú±ê×¼£¬ËûÔÚ¼ÆËã»úϵͳÖеõ½Á˹㷺µÄʹÓá£PCIµÄËÙ¶ÈÄܹ»´ïµ½132M/s¡£ÔÚÕâÀï¼òµ¥µÄ½éÉÜһϠlinux ÏÂPCIÇý¶¯µÄʵÏÖ¡£
ÔÚ±àдһ¸öPCIÇý¶¯µÄʱºòÎÒÃÇÏȵÃÈ·¶¨ÏµÍ³ÖÐÊÇ·ñÓÐÎÒÃǵÄÉ豸¡£Î ......

LINUX쵀./configure make make install

ÕâЩ¶¼ÊǵäÐ͵ÄʹÓÃGNUµÄAUTOCONFºÍAUTOMAKE²úÉúµÄ³ÌÐòµÄ°²×°²½Öè¡£
./configureÊÇÓÃÀ´¼ì²âÄãµÄ°²×°Æ½Ì¨µÄÄ¿±êÌØÕ÷µÄ¡£±ÈÈçËü»á¼ì²âÄãÊDz»ÊÇÓÐCC»òGCC£¬²¢²»ÊÇÐèÒªCC»òGCC£¬ËüÊǸöshell½Å±¾
makeÊÇÓÃÀ´±àÒëµÄ£¬Ëü´ÓMakefileÖжÁȡָÁȻºó±àÒë¡£
make installÊÇÓÃÀ´°²×°µÄ£¬ËüÒ²´ÓMakefileÖжÁȡָÁ°²×°µ½Ö¸¶¨µÄÎ»Ö ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ