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ÀïÓÐÁíÒ»ÖÖ·½·¨£¬ÄǾÍÊÇÎļþËø£¬ÎļþËøÀïµÄÎļþ²»µ¥µ¥Ö»Ö¸Æ½Ê±Ëù˵µÄÎļþËüÓ ......
Ò»¡¢ÏÂÔØjpeg¿â
¶þ¡¢ÅäÖñàÒ룬Éú³ÉMakefileÎļþ¡£
#./configure --prefix=/usr/arm/arm-linux --exec-prefix=/usr/arm/arm-linux \
--enable-shared --enable-static
×¢Ò⣺prefixÊÇ×îºó°²×°Ê±¿â´æ·ÅµÄÎļþ£¬sharedÊDZàÒë³É¶¯Ì¬¿â£¬staticÊDZàÒë³É¾²Ì¬¿â
Èý¡¢ÐÞ¸ÄÉú³ÉµÄMakefile¡£
ʹÓÃgedit £Í£á£ë£å£æ£é£ì£å
½«CC ......
´ò¿ª /etc/sysconfig/i18n
ÊäÈë
LANG="zh_CN.GB2312"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
ºÃÁË ......
Ŀ¼ºÍÎļþ²Ù×÷
²é¿´µ±Ç°Ä¿Â¼Ïà¶ÔÓÚ¸ùĿ¼µÄλÖÃ
¡¡
¡¡¡¡pwd
²é¿´µ±Ç°Ä¿Â¼ÄÚÈÝ
¡¡¡¡ls
ÒÔ³¤¸ñʽ²é¿´µ±Ç°Ä¿Â¼ÄÚÈÝ¡£¶ÔӦÿ¸öÎļþµÄÌõÄ¿½«°üÀ¨Á¬½ÓÊýÄ¿¡¢ËùÓÐÕß¡¢´óС¡¢×îºóÐÞ¸Äʱ¼ä¡¢È¨ÏÞµÈÄÚÈÝ
¡¡¡¡ls -l
¸Ä±äµ±Ç°Ä¿Â¼¡£Ä¿µÄĿ¼Ãû¿ÉÓÃÏà¶Ô·¾¶±íʾ£¬Ò²¿ÉÒÔÓþø¶Ô·¾¶±íʾ¡£
cd [Ä¿µÄĿ¼Ãû]
תÒƵ½ÉÏÒ»¼¶Ä¿Â¼
c ......
1. gccµÄ__attribute__±àÒïÊôÐÔ
ÒªÁ˽âLinux Kernel´úÂëµÄ·Ö¶ÎÐÅÏ¢£¬ÐèÒªÁ˽âÒ»ÏÂgccµÄ__attribute__µÄ±àÒïÊôÐÔ£¬__attribute__Ö÷ÒªÓÃÓڸıäËùÉùÃ÷»ò¶¨ÒåµÄº¯Êý»òÊý¾ÝµÄÌØÐÔ£¬ËüÓкܶà×ÓÏÓÃÓڸıä×÷ÓöÔÏóµÄÌØÐÔ¡£±ÈÈç¶Ôº¯Êý£¬noline½«½ûÖ¹½øÐÐÄÚÁªÀ©Õ¹¡¢noreturn±íʾûÓзµ»ØÖµ¡¢pure±íÃ÷º¯Êý³ý·µ»ØÖµÍ⣬²»»áͨ¹ýÆäËü ......