LinuxÖÐÕýÈ·´¦Àíerrno
errno±äÁ¿(Ðèinclude errno.h)»á±»¸³Ò»¸öÕûÊýÖµ,²»Í¬µÄÖµ±íʾ²»Í¬µÄº¬Òå,
¿ÉÒÔͨ¹ý²é¿´¸ÃÖµÍÆ²â³ö´íµÄÔÒò¡£µ«ÊÇerrnoÊÇÒ»¸öÊý×Ö£¬´ú±íµÄ¾ßÌ庬Òå
»¹Òªµ½errno.hÖÐÈ¥ÔĶÁºê¶¨Òå¡£ÓÐÏÂÃæ¼¸ÖÖ·½·¨¿ÉÒÔ·½±ãµÄµÃµ½´íÎóÐÅÏ¢
(Ò»)
#include <stdio.h>
void perror(const char *s)
perror()ÓÃÀ´½«ÉÏÒ»¸öº¯Êý·¢Éú´íÎóµÄÔÒòÊä³öµ½stderr¡£²ÎÊýsËùÖ¸µÄ×Ö·û´®»áÏÈ
´òÓ¡³ö£¬ºóÃæ¸úÒ»¸öðºÅºÍÒ»¸ö¿Õ¸ñÔÙ¼ÓÉÏ´íÎóÔÒò×Ö·û´® ºóÃæÔÙ¼ÓÉÏÒ»¸ö»»Ðзû¡£
´Ë´íÎóÔÒòÒÀÕÕÈ«¾Ö±äÁ¿errnoµÄ Ö±À´¾ö¶¨Òª
Êä³öµÄ×Ö·û´®
*******/
#include<stdio.h>
#include<stdlib.h>
int main ()
{
FILE *fp;
fp=fopen("/tmp/xx","r+");
if(fp==NULL) perror("fopen");
return 0;
}
£¨¶þ£©
#include <string.h>
char * strerror(int errnum)
º¯Êý˵Ã÷ strerror£¨£©ÓÃÀ´ÒÀ²ÎÊýerrnumµÄ´íÎóÂëÀ´²éѯ´íÎóÔÒò
µÄÃèÊö×Ö·û´®£¬È»ºó½«¸Ã×Ö·û´®Ö¸Õë·µ»Ø¡£
Õâ¸öº¯Êý±¾Éí²¢²»»á±§´í ËùÒÔûÓÐΪÕâ¸öº¯Êý±£ÁôÏìÓ¦µÄ´íÎóÖµ
·µ»ØÖµ£º ·µ»ØÃèÊö´íÎóÔÒòµÄ×Ö·û´®Ö¸Õë
****/
#include <string.h>
#include <stdio.h>
int main ()
{
//ÏÔʾ´íÎó´úÂë0µ½9µÄ´íÎóÔÒòÃèÊö
int i;
for(i=0;i<10;i++)
fprintf(stderr,"%d:%s \n",i,strerror(i));
return 0;
}
strerrorº¯Êý¿ÉÄÜ»á¸Ä±äerror¡£Èç¹ûÐèÒªÔÚµ÷ÓÃstrerrorºóÔÙ´ÎʹÓÃ
error £¬Ó¦¸ÃÔÚµ÷ÓÃstrerrorÇ®±£´æerror£¬²¢ÔÚÔÙ´ÎʹÓÃ֮ǰ½«Æä»Ö¸´¡£
ÏÂÃæµÄ´úÂë˵Ã÷ÈçºÎÔÚʹÓÃstrerrorµÄͬʱÒÀÈ»±£³ÖerrorµÄÖµ
int error;
int fildes;
if (close(fildes)==-1){
error = errno;
fprintf(stderr,"Failed to close descriptor %d :%s\n",
fildes,strerror(errono);
errno = error;
}
ÕýÈ·µØ´¦ÀíerrnoÊǸö¼¬ÊÖµÄÎÊÌâ¡£ÓÉÓڿ⺯ÊýµÄʵÏÖÖпÉÄÜ»áµ÷ÓÃÆäËû¿ÉÒÔ
ÉèÖÃerrnoµÄº¯Êý£¬Òò´Ë£¬¼´Ê¹¿âº¯ÊýµÄÁª»ú°ïÖúÒ³ÃæÖÐûÓÐÏÔʾµÄ˵Ã÷£¬¿â
º¯Êý»¹ÊÇ»á¶Ôerrno½øÐÐÐ޸ġ£Í¬Ñù£¬Ó¦ÓóÌÐòÎÞ·¨Ð޸ĴÓstrerrorÖзµ»ØµÄ×Ö·û´®£
Ïà¹ØÎĵµ£º
ѧ¹ý²Ù×÷ϵͳµÄÈËÖªµÀÓÐÒ»¸ö·Ç³£ÖøÃûµÄÎÊÌ⣺¶ÁÕߣдÕßÎÊÌâ¡£¶ÁÕߣдÕßÎÊÌâÊÇָϵͳµ±ÖеĵÄ×ÊÔ´ÔÚijһʱ¼äÀï¿ÉÒÔͬʱÔÊÐí¶à¸ö½ø³Ì¶Á£¬µ«Ö»ÔÊÐíÒ»¸ö½ø³Ìд¡£Õâ¸ö½ø³Ìͬ²½ÎÊÌâµÄ½â·¨ÓÐÐí¶àÖÖ£¬ÔÚwindowϵͳÀïÓû¥³â±äÁ¿À´½øÐнø³ÌµÄͬ²½¡£ÔÚLinuxÀïÓÐÁíÒ»ÖÖ·½·¨£¬ÄǾÍÊÇÎļþËø£¬ÎļþËøÀïµÄÎļþ²»µ¥µ¥Ö»Ö¸Æ½Ê±Ëù˵µÄÎļþËüÓ ......
brctl addbr br0
ifconfig br0
br0 MAC is 00:00:00:00:00:00
brctl addif br0 eth1 (eth1 is xx:xx:xx:xx:xx:33)
ifconfig br0
br0 MAC is xx:xx:xx:xx:xx:33 same as eth1, auto change
brctl addif br0 eth2 (eth2 is xx:xx:xx:xx:xx:30)
ifconfig br0
br0 MAC is xx:xx:xx:xx:xx:30 sa ......
ÔÚ°²×°ÍêjdkÒԺ󣬾ÍÀ´°²×°MyEclipseÁË¡£
ÓÐһЩ°²×°ÁËjdkÒÔºóûÓÐÉúЧ£¬³öÏֵϹÊÇ1.4°æ±¾µÄ¡£
ËùÒÔ°²×°MyEclipse7.0»òÕßÊÇ6.5¡¢6.6µÄ¶¼»á³ö´í
[root@gupt aaaa]# ll
×ÜÓÃÁ¿ 380
dr-xr-xr-x 6 root root 4096
2009-01-17 configuration
-r--r--r-- 1 root root 7 ......
ÎÒÕýÔÚѧϰдlinux device driver for embedded system.
ÎÒÓÐÒ»¸ölinuxǶÈëʽÉ豸£¬Ò²ÓÐÕâ¸öÉ豸µÄlinuxÔ´´úÂë¡£Ò²ÓÐcross compiler tool chain.
µÚÒ»²½£¬¾ÍÊÇдһ¸ö¼òµ¥µÄhelloÄ£¿é£¬È»ºó×°µ½É豸ÖС£ÒÔÑéÖ¤ÎÒÕâ¸ö¿ª·¢»·¾³¡£
ÔÚÍøÉÏËÑË÷ÁËһϣ¬ how to cross compile linux device driver
·¢ÏÖÔÚlinux´úÂë¸ùĿ¼µÄMak ......
linuxÆô¶¯Á÷³Ì£º
ϵͳԤ´¦Àí³ÌÐò->GRUB (´Ë½×¶Î¿ÉÒÔÀí½âΪbootloader½×¶Î)
->kernel (´Ë½×¶ÎΪkernel)
->initrd->initÆô¶¯->inittab->rc.sysinit->functions(PATH)->modules->rcX.d(¶ÁÅäÖÃÎļþ)
1.->×Ö·ûģʽ->tty->bash
2.->ͼÐÎģʽ->½øÈëX Window-> ......