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
×é¿ÉÒÔÐ
Ïà¹ØÎĵµ£º
Linuxϵͳ¶¼ÊÇÒÔÎļþµÄÐÎʽÀ´·ÃÎÊÓ²¼þÉ豸µÄ£¬¸÷ÖÖÉ豸ÊÇÒÔϵͳÉ豸ÎļþµÄÐÎʽ´æÔÚÓÚϵͳÉ豸Ŀ¼£¯devÖеġ£ÕâЩÎļþÓÃÓÚ·ÃÎÊϵͳÖÐËùÓв»Í¬ÀàÐ͵ÄÓ²¼þ¡£ÀýÈ磬£¯dev£¯mouseÎļþ¶ÔÓ¦Êó±êÉ豸Îļþ£¬ÓÃÓÚ¶ÁÈ¡Êó±êÊäÈëµÄ£»£¯dev£¯fd0Îļþ¶ÔÓ¦ÈíÇýÉ豸Îļþ£¬ÓÃÓÚ´¦ÀíÈíÅ̶ÁдµÄ£»
LinuxÎļþϵͳÖÐÿ¸öÎļþÓà i½Úµã À´±êʶ£¬¹Ø ......
{
SqlConnection cnn = new SqlConnection
("context connection=true");
cnn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = cnn;
cmd.CommandText = "select * from customers";
SqlDataReader reader = cmd.ExecuteReader();
SqlContext.Pipe.Send(reader);
reader.Close();
cnn.Close();
}
......
[C/C++ Digestion] – Rule of Three,
¸´ÖÆ¿ØÖÆ
×÷Õߣº
Jason Lee @
http://blog.csdn.net/jasonblog
ÈÕÆÚ£º
2010-04-13
[1]
¸´Öƹ¹Ô캯Êý
copy constructor
Rule of Three
ÊÇÖ¸ÀàÈç¹ûÐèÒªÎö¹¹º¯Êý£¬Ôòͨ³£Ò²ÐèÒª¸´Öƹ¹Ô캯ÊýºÍ¸³Öµ²Ù×÷·û¡£¶øÆäʵϰ¹ßµØÏÔʾ±àдÕâÈýÕß±¾¾ÍÊÇÒ»¸öÁ¼ºÃµÄϰ¹ß¡£Òò ......
1£® ÔÚCÓïÑÔÖÐÄÚǶ»ã±à
ÔÚCÖÐÄÚǶµÄ»ã±àÖ¸Áî°üº¬´ó²¿·ÖµÄARMºÍThumbÖ¸Á²»¹ýÆäʹÓÃÓë»ã±àÎļþÖеÄÖ¸ÁîÓÐЩ²»Í¬£¬´æÔÚһЩÏÞÖÆ£¬Ö÷ÒªÓÐÏÂÃæ¼¸¸ö·½Ã棺
a. ²»ÄÜÖ±½ÓÏòPC¼Ä´æÆ÷¸³Öµ£¬³ÌÐòÌø×ªÒªÊ¹ÓÃB»òÕßBLÖ¸Áî
b. ÔÚʹÓÃÎïÀí¼Ä´æÆ÷ʱ£¬²»ÒªÊ¹ÓùýÓÚ¸´ÔÓµÄC±í´ïʽ£¬±ÜÃâÎïÀí¼Ä´æÆ÷³åÍ»
c. R12ºÍR13¿ÉÄܱ»±àÒë ......
ÔÚcÖÐenumµÄʹÓúÍstructºÜÏñ
enum name{
a,b,c
};
struct name{
int a;
int b;
char c;
};
or
typedef struct{
int a;
int b;
char c;
}Name;
ʹÓõÄʱºò¶¼ÒªÏÈÉùÃ÷±äÁ¿
enum name n1,n2,n3;
n1=a;
n2=b;
n3=enum name(3-1);
struct name sn1,sn2;
s ......