LinuxϵÄÎļþ²Ù×÷£ºÏµÍ³µ÷Óû¹Êǿ⺯Êýµ÷Óã¿
Linux
϶ÔÎļþ²Ù×÷ÓÐÁ½ÖÖ·½Ê½£ºÏµÍ³µ÷Óã¨
system call
£©ºÍ¿âº¯Êýµ÷Óã¨
Library
functions
£©¡£¿ÉÒԲο¼¡¶
Linux
³ÌÐòÉè¼Æ¡·£¨Ó¢ÎÄÔ°æÎª¡¶
Beginning Linux Programming
¡·£¬×÷ÕßÊÇ
Neil Matthew
ºÍ
Richard Stones
£©µÚÈýÕÂ
: Working with files
¡£
1
¡£ÏµÍ³µ÷ÓÃ
ϵͳµ÷ÓÃÌṩµÄº¯ÊýÈç
open, close, read, write, ioctl
µÈ£¬Ðè°üº¬Í·Îļþ
unistd.h
¡£ÒÔ
write
ΪÀý£ºÆäº¯ÊýÔÐÍΪ
size_t write(int fd, const void *buf, size_t nbytes)
£¬Æä²Ù×÷¶ÔÏóΪÎļþÃèÊö·û»òÎļþ
¾ä±ú
fd(file descriptor)
£¬ÒªÏëдһ¸öÎļþ£¬±ØÐëÏÈÒÔ¿ÉдȨ
ÏÞÓÃ
open
ϵͳµ÷Óôò¿ªÒ»¸öÎļþ£¬»ñµÃËù´ò¿ªÎļþµÄ
fd
£¬ÀýÈç
fd=open(\"/dev/video\",
O_RDWR)
¡£
fd
ÊÇÒ»¸öÕûÐÍÖµ£¬Ã¿Ð´ò¿ªÒ»¸öÎļþ£¬
Ëù»ñµÃµÄ
fd
Ϊµ±Ç°×î´ó
fd
¼Ó
1
¡£
Linux
ϵͳĬÈÏ·ÖÅäÁË
3
¸öÎļþÃèÊö·ûÖµ£º
0
£
standard input
£¬
1
£
standard output
£¬
2
£
standard error
¡£
ϵͳµ÷ÓÃͨ³£ÓÃÓڵײãÎļþ·ÃÎÊ£¨
low-level file access
£©£¬ÀýÈçÔÚÇý¶¯³ÌÐòÖжÔÉ豸ÎļþµÄÖ±½Ó·ÃÎÊ¡£
ϵͳµ÷ÓÃÊDzÙ×÷ϵͳÏà¹ØµÄ£¬Òò´ËÒ»
°ãûÓпç²Ù×÷ϵͳµÄ¿ÉÒÆÖ²ÐÔ¡£
ϵͳµ÷Ó÷¢ÉúÔÚÄں˿ռ䣬Òò´ËÈç¹ûÔÚÓû§¿Õ¼äµÄÒ»°ãÓ¦ÓóÌÐòÖÐʹÓÃϵͳµ÷ÓÃÀ´½øÐÐÎļþ²Ù×÷£¬»áÓÐÓû§¿Õ¼äµ½Äں˿ռä
Çл»µÄ¿ªÏú¡£ÊÂʵÉÏ£¬¼´Ê¹ÔÚÓû§¿Õ¼äʹÓÿ⺯ÊýÀ´¶ÔÎļþ½øÐвÙ×÷£¬ÒòΪÎļþ×ÜÊÇ´æÔÚÓÚ´æ´¢½éÖÊÉÏ£¬Òò´Ë²»¹ÜÊǶÁд²Ù×÷£¬¶¼ÊǶÔÓ²¼þ£¨´æ´¢Æ÷£©µÄ²Ù×÷£¬¶¼±Ø
È»»áÒýÆðϵͳµ÷Óá£Ò²¾ÍÊÇ˵£¬¿âº¯Êý¶ÔÎļþµÄ²Ù×÷ʵ¼ÊÉÏÊÇͨ¹ýϵͳµ÷ÓÃÀ´ÊµÏֵġ£ÀýÈç
C
¿âº¯Êý
fwrite()
¾ÍÊÇͨ¹ý
write()
ϵͳµ÷ÓÃÀ´ÊµÏֵġ£
ÕâÑùµÄ»°£¬Ê¹Óÿ⺯ÊýÒ²ÓÐϵͳµ÷ÓÃ
µÄ¿ªÏú£¬ÎªÊ²Ã´²»Ö±½ÓʹÓÃϵͳµ÷ÓÃÄØ£¿ÕâÊÇÒòΪ£¬¶ÁдÎļþͨ³£ÊÇ´óÁ¿µÄÊý¾Ý£¨ÕâÖÖ´óÁ¿ÊÇÏà¶ÔÓڵײãÇý¶¯µÄϵͳµ÷ÓÃËùʵÏÖµÄÊý¾Ý²Ù×÷µ¥Î»¶øÑÔ£©£¬Õâʱ£¬Ê¹ÓÃ
¿âº¯Êý¾Í¿ÉÒÔ´ó´ó¼õÉÙϵͳµ÷ÓõĴÎÊý¡£ÕâÒ»½á¹ûÓÖÔµÓÚ»º³åÇø¼¼Êõ¡£ÔÚÓû§¿Õ¼äºÍÄں˿ռ䣬¶ÔÎļþ²Ù×÷¶¼Ê¹ÓÃÁË»º³åÇø£¬ÀýÈçÓÃ
fwrite
дÎļþ£¬¶¼ÊÇÏȽ«ÄÚÈÝдµ½Óû§¿Õ¼ä»º³åÇø£¬µ±Óû§¿Õ¼ä»º³åÇøÂú»òÕßд²Ù×÷½áÊøÊ±£¬²Å½«Óû§»º³åÇøµÄÄÚ
ÈÝдµ½Äں˻º³åÇø£¬Í¬ÑùµÄµÀÀí£¬µ±Äں˻º³åÇøÂú»òд½áÊøÊ±²Å½«Äں˻º³åÇøÄÚÈÝдµ½Îļþ¶ÔÓ¦µÄÓ²¼þý½é¡£
2
¡£¿âº¯Êýµ÷ÓÃ
±ê×¼
C
¿âº¯ÊýÌṩµÄÎļþ²Ù×÷º¯ÊýÈç
fopen, fread, fwrite, fclose,
Ïà¹ØÎĵµ£º
Ò»¡¢ÒýÑÔ£º
±¾ÎĵµµÄÄÚÈݴ󲿷ÝÄÚÈݶ¼ÊÇ´ÓÍøÉÏÊÕ¼¯¶øÀ´£¬È»ºóÅäºÏһЩеĽØÍ¼£¨Äں˰汾£ºV2.4.19£©¡£ÔÚÿһÅäÖÃÏîºó»áÓÐÒ»¸öÑ¡ÔñÖ¸ÄϵIJ¿·Ý£¬ÓÃÀ´Ö¸µ¼´ó¼ÒÔõôÑù¸ù¾Ý×Ô¼ºµÄÇé¿öÀ´×öÏàÓ¦µÄÑ¡Ôñ£»»¹ÓÐÔÚÿһ¸ö´óÏîºÍÎĵµµÄ×îºó»áÓÐÒ»¸ö¾Ñé̸£¬ËüÊÇһЩ¸ßÊÖÃÇÔÚÓ¦¶ÔÎÊÌâºÍ´¦ÀíÌØÓÐÓ²¼þʱµÄһЩ¾Ñ飨Õâ¸ö»¹µ ......
ÎÒÒѾ°ëÄêûÓÐʹÓÃWindowsµÄ·½Ê½¹¤×÷ÁË¡£Linux¸ßЧµÄÍê³ÉÁËÎÒËùÓеŤ×÷¡£
GNU/Linux²»ÊÇÿ¸öÈ˶¼ÏëÓõġ£Èç¹ûÄãÖ»ÐèÒª´¦ÀíÒ»°ãµÄÊÂÎñ£¬´òÓÎÏ·£¬ÄÇôÄã²»ÐèÒªÁ˽âÏÂÃæÕâЩÁË¡£
ÎÒ²»ÊÇÒ»¸ö¿ñÈȵÄ×ÔÓÉÈí¼þ·Ý×Ó£¬ËäÈ»ÎÒºÜϲ»¶×ÔÓÉÈí¼þ¡£ÕâÆªÎÄÕÂÒ²²»ÊÇÓÃÀ´ÍÆÐÐ×ÔÓÉÈí¼þÔ˶¯µÄ£¬ËäÈ»ÎÒ¾õµÃ×ÔÓÉÈí¼þÔ˶¯ÊǷdz£ºÃµÄ¡£
ÕâÆª ......
A. ΪʲôҪÔÚLinuxʹÓÃEclipse¿ª·¢C/C++³ÌÐò?
LinuxÊÇÒ»¸öÒÔC/C++¿ª·¢ÎªÖ÷µÄƽ̨£¬ÎÞÂÛÊÇKernel»òÊÇApplication£¬Ö÷Òª¶¼Ê¹ÓÃC/C++¿ª·¢¡£´«Í³ÔÚLinuxÏ¿ª·¢³ÌÐò£¬ÊÇÔÚÎÄ×ÖģʽÏ£¬ÀûÓÃviµÈÎÄ×Ö±à¼Æ÷׫дC/C++³ÌÐò´æÅ̺ó£¬ÔÚCommand lineÏÂʹÓÃgcc±àÒ룬ÈôÒªdebug£¬ÔòʹÓÃgdb¡£
ÕâÖÖ¿ª·¢·½Ê½Éú²úÁ¦²¢²»¸ß£¬ÈôÖ»ÊÇ¿ª·¢Ñ§ ......
dd if=/dev/zero of=/dev/rd/1 bs=1k count=9216
mke2fs -vm0 /dev/rd/1 9216
mount /dev/rd/1 /tmp/
umount -v /tmp
ÒÔÏÂÊÇ×ªÔØ×Ôhttp://www.cublog.cn/u1/59740/showart_472783.html
linux RamDisk
ʹÓüò½é
1
¡¢
Ram Disk
½éÉÜ
1.1
ʲôÊÇRam Disk
Ram Disk
¾ÍÊǽ«ÄÚ´æÖеÄÒ»¿éÇøÓò× ......