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

LinuxϵÄC±à³Ìʵս֮Îļþϵͳ±à³Ì

ÎÄÕÂÀ´Ô´£ºhttp://dev.yesky.com/468/7601968.shtml
2007-10-12 11:01×÷ÕߣºËᦻª³ö´¦£ºÌì¼«ÍøÈí¼þƵµÀÔðÈα༭£º·½ÖÛ
1.LinuxÎļþϵͳ
¡¡¡¡LinuxÖ§³Ö¶àÖÖÎļþϵͳ£¬Èçext¡¢ext2¡¢minix¡¢iso9660¡¢msdos¡¢fat¡¢vfat¡¢nfsµÈ¡£ÔÚÕâЩ¾ßÌåÎļþϵͳµÄÉϲ㣬LinuxÌṩÁËÐéÄâÎļþϵͳ£¨VFS£©À´Í³Ò»ËüÃǵÄÐÐΪ£¬ÐéÄâÎļþϵͳΪ²»Í¬µÄÎļþϵͳÓëÄں˵ÄͨÐÅÌṩÁËÒ»ÖµĽӿڡ£ÏÂͼ¸ø³öÁËLinuxÖÐÎļþϵͳµÄ¹ØÏµ£º
¡¡¡¡ÔÚLinuxƽ̨϶ÔÎļþ±à³Ì¿ÉÒÔʹÓÃÁ½ÀຯÊý£º£¨1£©Linux²Ù×÷ϵͳÎļþAPI£»£¨2£©CÓïÑÔI/O¿âº¯Êý¡£ ǰÕßÒÀÀµÓÚLinuxϵͳµ÷Ó㬺óÕßʵ¼ÊÉÏÓë²Ù×÷ϵͳÊǶÀÁ¢µÄ£¬ÒòΪÔÚÈκβÙ×÷ϵͳÏ£¬Ê¹ÓÃCÓïÑÔI/O¿âº¯Êý²Ù×÷ÎļþµÄ·½·¨¶¼ÊÇÏàͬµÄ¡£±¾Õ½«¶ÔÕâÁ½ÖÖ·½·¨½øÐÐʵÀý½²½â¡£
¡¡¡¡2.LinuxÎļþAPI
¡¡¡¡LinuxµÄÎļþ²Ù×÷APIÉæ¼°µ½´´½¨¡¢´ò¿ª¡¢¶ÁдºÍ¹Ø±ÕÎļþ¡£
¡¡¡¡´´½¨
int creat(const char *filename, mode_t mode);
¡¡¡¡²ÎÊýmodeÖ¸¶¨Ð½¨ÎļþµÄ´æÈ¡È¨ÏÞ£¬ËüͬumaskÒ»Æð¾ö¶¨ÎļþµÄ×îÖÕȨÏÞ£¨mode&umask£©£¬ÆäÖÐumask´ú±íÁËÎļþÔÚ´´½¨Ê±ÐèҪȥµôµÄһЩ´æÈ¡È¨ÏÞ¡£umask¿Éͨ¹ýϵͳµ÷ÓÃumask()À´¸Ä±ä£º
int umask(int newmask);
¡¡¡¡¸Ãµ÷Óý«umaskÉèÖÃΪnewmask£¬È»ºó·µ»Ø¾ÉµÄumask£¬ËüÖ»Ó°Ïì¶Á¡¢Ð´ºÍÖ´ÐÐȨÏÞ¡£
¡¡¡¡´ò¿ª
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
¡¡¡¡openº¯ÊýÓÐÁ½¸öÐÎʽ£¬ÆäÖÐpathnameÊÇÎÒÃÇÒª´ò¿ªµÄÎļþÃû(°üº¬Â·¾¶Ãû³Æ£¬È±Ê¡ÊÇÈÏΪÔÚµ±Ç°Â·¾¶ÏÂÃæ)£¬flags¿ÉÒÔÈ¥ÏÂÃæµÄÒ»¸öÖµ»òÕßÊǼ¸¸öÖµµÄ×éºÏ£º
±êÖ¾
º¬Òå
O_RDONLY
ÒÔÖ»¶ÁµÄ·½Ê½´ò¿ªÎļþ
O_WRONLY
ÒÔֻдµÄ·½Ê½´ò¿ªÎļþ
O_RDWR
ÒÔ¶ÁдµÄ·½Ê½´ò¿ªÎļþ
O_APPEND
ÒÔ×·¼ÓµÄ·½Ê½´ò¿ªÎļþ
O_CREAT
´´½¨Ò»¸öÎļþ
O_EXEC
Èç¹ûʹÓÃÁËO_CREAT¶øÇÒÎļþÒѾ­´æÔÚ£¬¾Í»á·¢ÉúÒ»¸ö´íÎó
O_NOBLOCK
ÒÔ·Ç×èÈûµÄ·½Ê½´ò¿ªÒ»¸öÎļþ
O_TRUNC
Èç¹ûÎļþÒѾ­´æÔÚ£¬Ôòɾ³ýÎļþµÄÄÚÈÝ
 
 
¡¡¡¡O_RDONLY¡¢O_WRONLY¡¢O_RDWRÈý¸ö±êÖ¾Ö»ÄÜʹÓÃÈÎÒâµÄÒ»¸ö¡£
¡¡¡¡Èç¹ûʹÓÃÁËO_CREATE±êÖ¾£¬ÔòʹÓõĺ¯ÊýÊÇint open(const char *pathname,int flags,mode_t mode); Õâ¸öʱºòÎÒÃÇ»¹ÒªÖ¸¶¨mode±êÖ¾£¬ÓÃÀ´±íʾÎļþµÄ·ÃÎÊȨÏÞ¡£mode¿ÉÒÔÊÇÒÔÏÂÇé¿öµÄ×éºÏ£º
±êÖ¾
º¬Òå
S_IRUSR
Óû§¿ÉÒÔ¶Á
S_IWUSR
Óû§¿ÉÒÔд
S_IXUSR
Óû§¿ÉÒÔÖ´ÐÐ
S_IRWXU
Óû§¿ÉÒÔ¶Á¡¢Ð´¡¢Ö´ÐÐ
S_IRGRP
×é¿ÉÒÔ¶Á
S_IWGRP
×é¿ÉÒÔÐ


Ïà¹ØÎĵµ£º

GTK ´úÂë´ÓLinuxÒÆÖ²µ½WindowsÐĵÃ

µ÷ÊÔ´úÂëµÄÄѶÈÊÇÊ״αàдÕâЩ´úÂëµÄÁ½±¶£¬Òò´Ë£¬Èç¹ûÄãÔÚ±àд´úÂëʱ¾ÍÒѾ­·¢»ÓÁËÈ«²¿µÄ´Ï
Ã÷²ÅÖÇ£¬ÄÇô°´ÕÕ³£Àí£¬Ä㽫ÎÞ·¨Æ¾½è×Ô¼ºµÄÖÇ»ÛÈ¥µ÷ÊÔÕâЩ´úÂë¡£


......

C×Ö·û´®´¦Àíº¯ÊýµÄʵÏÖ

C×Ö·û´®´¦Àíº¯ÊýµÄʵÏÖ£¨Linux£©
#include <stddef.h>
char * ___strtok = NULL;
char * strcpy(char * dest,const char *src)
{
char *tmp = dest;
while ((*dest++ = *src++) != '\0')
/* nothing */;
return tmp;
}
char * strncpy(char * dest,const char *src,size_t count)
{
char *tmp = d ......

CͼÐκ¯Êý½âÎö

CÓïÑÔÖУ¬Í¼Ðκ¯Êý´óÖ¿ɷÖΪÁ½Àࣺ×Ö·ûģʽº¯ÊýºÍͼÐÎģʽº¯Êý¡£±¾½ÚÎÒÃÇÁ·Ï°Ê¹ÓÃ×Ö·ûģʽº¯Êý¡£  
          ʹÓÃ×Ö·ûģʽº¯ÊýÓ¦¸ÃÔÚ³ÌÐòÖÐÁªÈëconio.hÍ·²¿Îļþ¡£  
          ÏÂÃæÊÇһЩº¯ÊýµÄ×÷Óà  
  1)     void   &nbs ......

C/C++¶¯Ì¬Êý×é³õʼ»¯

      vs2008ÀïÃæ¶¨ÒåÈ«¾Ö±äÁ¿£º
      extern bool *g_previewStatusArray = new bool[EQUIPMENT_AMOUNT]();  //±»Ä¬Èϳõʼ»¯Îªfalse
      µ«ÊÇÈç¹û²»¼ÓÉϺóÃæµÄÀ¨ºÅ£¬ÔòĬÈϳõʼ»¯Îªtrue¡£ ......

Cר¼Ò±à³Ì¾«±àÖ®Ò»

Cר¼Ò±à³Ì  ¾«±àÖ®Ò»     µÚÒ»ÕÂ~µÚÈýÕÂ
CµÄ¸´ÔÓÖ®´¦ ÔÚÓÚËüµÄÖ¸Õë ,µ«ÊÇ±ÈÆäÖ¸Õë¸üΪ¸´ÔÓµÄÊÇËüµÄÉùÃ÷ !!!
ÄãÄÜ¿´¶®ËüÃǵÄÒâ˼ Âð?
apple=sizeof(int)*p  ;   apple=sizeof * p;
j= (char (*)[20])malloc(20);
int   const * grape; Óë   int * const gr ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ