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

Linux×Ö·ûÉ豸Çý¶¯³ÌÐò¿ª·¢

LinuxϵÄÉ豸Çý¶¯³ÌÐò±»×é֯Ϊһ×éÍê³É²»Í¬ÈÎÎñµÄº¯ÊýµÄ¼¯ºÏ£¬Í¨¹ýÕâЩº¯ÊýʹµÃWindowsµÄÉ豸²Ù×÷ÓÌÈçÎļþÒ»°ã¡£ÔÚÓ¦ÓóÌÐò¿´À´£¬Ó²¼þÉ豸ֻÊÇÒ»¸öÉ豸Îļþ£¬Ó¦ÓóÌÐò¿ÉÒÔÏó²Ù×÷ÆÕͨÎļþÒ»Ñù¶ÔÓ²¼þÉ豸½øÐвÙ×÷£¬Èçopen ()¡¢close ()¡¢read ()¡¢write () µÈ¡£
LinuxÖ÷Òª½«É豸·ÖΪ¶þÀࣺ×Ö·ûÉ豸ºÍ¿éÉ豸¡£×Ö·ûÉ豸ÊÇÖ¸É豸·¢ËͺͽÓÊÕÊý¾ÝÒÔ×Ö·ûµÄÐÎʽ½øÐУ»¶ø¿éÉ豸ÔòÒÔÕû¸öÊý¾Ý»º³åÇøµÄÐÎʽ½øÐС£×Ö·ûÉ豸µÄÇý¶¯Ïà¶Ô±È½Ï¼òµ¥¡£
¡¡¡¡ÏÂÃæÎÒÃÇÀ´¼ÙÉèÒ»¸ö·Ç³£¼òµ¥µÄÐéÄâ×Ö·ûÉ豸£ºÕâ¸öÉ豸ÖÐÖ»ÓÐÒ»¸ö4¸ö×Ö½ÚµÄÈ«¾Ö±äÁ¿int global_var£¬¶øÕâ¸öÉ豸µÄÃû×Ö½Ð×ö"gobalvar"¡£¶Ô"gobalvar"É豸µÄ¶ÁдµÈ²Ù×÷¼´ÊǶÔÆäÖÐÈ«¾Ö±äÁ¿global_varµÄ²Ù×÷¡£
¡¡¡¡Çý¶¯³ÌÐòÊÇÄں˵ÄÒ»²¿·Ö£¬Òò´ËÎÒÃÇÐèÒª¸øÆäÌí¼ÓÄ£¿é³õʼ»¯º¯Êý£¬¸Ãº¯ÊýÓÃÀ´Íê³É¶ÔËù¿ØÉ豸µÄ³õʼ»¯¹¤×÷£¬²¢µ÷ÓÃregister_chrdev() º¯Êý×¢²á×Ö·ûÉ豸£º
static int __init gobalvar_init(void)
{
¡¡if (register_chrdev(MAJOR_NUM, " gobalvar ", &gobalvar_fops))
¡¡{
¡¡¡¡//…×¢²áʧ°Ü
¡¡}
¡¡else
¡¡{
¡¡¡¡//…×¢²á³É¹¦
¡¡}
}
¡¡¡¡ÆäÖУ¬register_chrdevº¯ÊýÖеIJÎÊýMAJOR_NUMΪÖ÷É豸ºÅ,"gobalvar"ΪÉ豸Ãû£¬gobalvar_fopsΪ°üº¬»ù±¾º¯ÊýÈë¿ÚµãµÄ½á¹¹Ì壬ÀàÐÍΪfile_operations¡£µ±gobalvarÄ£¿é±»¼ÓÔØʱ£¬gobalvar_init±»Ö´ÐУ¬Ëü½«µ÷ÓÃÄں˺¯Êýregister_chrdev£¬°ÑÇý¶¯³ÌÐòµÄ»ù±¾Èë¿ÚµãÖ¸Õë´æ·ÅÔÚÄں˵Ä×Ö·ûÉ豸µØÖ·±íÖУ¬ÔÚÓû§½ø³Ì¶Ô¸ÃÉ豸ִÐÐϵͳµ÷ÓÃʱÌṩÈë¿ÚµØÖ·¡£
¡¡¡¡ÓëÄ£¿é³õʼ»¯º¯Êý¶ÔÓ¦µÄ¾ÍÊÇÄ£¿éжÔغ¯Êý£¬ÐèÒªµ÷ÓÃregister_chrdev()µÄ"·´º¯Êý" unregister_chrdev()£º
static void __exit gobalvar_exit(void)
{
¡¡if (unregister_chrdev(MAJOR_NUM, " gobalvar "))
¡¡{
¡¡¡¡//…жÔØʧ°Ü
¡¡}
¡¡else
¡¡{
¡¡¡¡//…жÔسɹ¦
¡¡}
}
¡¡¡¡Ëæ×ÅÄں˲»¶ÏÔö¼ÓÐµĹ¦ÄÜ£¬file_operations½á¹¹ÌåÒÑÖð½¥±äµÃÔ½À´Ô½´ó£¬µ«ÊÇ´ó¶àÊýµÄÇý¶¯³ÌÐòÖ»ÊÇÀûÓÃÁËÆäÖеÄÒ»²¿·Ö¡£¶ÔÓÚ×Ö·ûÉ豸À´Ëµ£¬ÒªÌṩµÄÖ÷ÒªÈë¿ÚÓУºopen ()¡¢release ()¡¢read ()¡¢write ()¡¢ioctl ()¡¢llseek()¡¢poll()µÈ¡£
¡¡¡¡open()º¯Êý¡¡¶ÔÉ豸ÌØÊâÎļþ½øÐÐopen()ϵͳµ÷ÓÃʱ£¬½«µ÷ÓÃÇý¶¯³ÌÐòµÄopen () º¯Êý£º
int (*open)(struct inode * ,struct file *);
¡¡¡¡ÆäÖвÎÊýinodeΪÉ豸ÌØÊâÎļþµÄinode (Ë÷Òý½áµã) ½á¹¹µÄÖ¸Õ룬²ÎÊýfileÊÇÖ¸ÏòÕâÒ»É豸µÄÎļþ½á¹¹µÄÖ¸Õë¡£open()µÄÖ÷


Ïà¹ØÎĵµ£º

Linux RMPÃüÁî

RPM ÓÐÎåÖÖ»ù±¾µÄ²Ù×÷·½Ê½(²»°üÀ¨´´½¨Èí¼þ°ü): °²×°, жÔØ, Éý¼¶, ²éѯ,ºÍÑéÖ¤¡£ ÏÂÃæÎÒÃǾÍÀ´ÖðÒ»µÄ½²½â°É¡£
Ò»¡¢ °²×°RPM°ü
RPM Èí¼þ°üͨ³£¾ßÓÐÀàËÆfoo-1.0-1.i386.rpm µÄÎļþÃû¡£ÆäÖаüÀ¨ Èí¼þ°üµÄÃû³Æ(foo)£¬°æ±¾ºÅ(1.0)£¬·¢ÐкÅ(1)£¬ ºÍ Ó²¼þƽ̨(i386)¡£°²×°Ò»¸öÈí¼þ°üÖ»Ðè¼òµ¥µÄ¼üÈëÒÔÏÂÃüÁ
$ rpm -ivh foo-1. ......

ǶÈëʽLinuxϵͳµÄGDBÔ¶³Ìµ÷ÊÔµÄʵÏÖ

      Ô¶³Ìµ÷ÊÔ»·¾³ÓÉËÞÖ÷»úGDBºÍÄ¿±ê»úµ÷ÊÔstub¹²Í¬¹¹³É£¬Á½Õßͨ¹ý´®¿Ú»òTCPÁ¬½Ó£¬Ê¹ÓÃGDB±ê×¼³Ì´®ÐÐЭÒéЭͬ¹¤×÷£¬ÊµÏÖ¶ÔÄ¿±ê»úÉϵÄϵͳÄں˺ÍÉϲãÓ¦Óõļà¿ØºÍµ÷ÊÔ¹¦ÄÜ£¬µ÷ÊÔstubÊÇǶÈëʽϵͳÖеÄÒ»¶Î´úÂ룬×÷ΪËÞÖ÷»úGDBºÍÄ¿±ê»úµ÷ÊÔ³ÌÐò¼äµÄÒ»¸öý½é¶ø´æÔÚ¡£
¡¡¡¡¾ÍÄ¿Ç°¶øÑÔ£¬Ç¶ÈëʽLinuxϵ ......

Linux VNCÔ¶³Ì×ÀÃæ

Linux VNCÔ¶³Ì×ÀÃæ
2009-07-27 09:46
VNC£¬È«³ÆΪVirtual Network Computing£¬ÊÇÒ»¸ö×ÀÃæ¹²Ïíϵͳ¡£ËüµÄ¹¦ÄÜ£¬ÀàËÆÓÚwindowsÖеÄÔ¶³Ì ×ÀÃ湦ÄÜ¡£VNCʹÓÃÁËRFB(Remote FrameBuffer£¬Ô¶³ÌÖ¡»º³å£©Ð­ÒéÀ´ÊµÏÖÔ¶³Ì¿ØÖÆÁíÍâһ̨¼ÆËã»ú¡£Ëü°Ñ¼üÅÌ¡¢Êó±ê¶¯×÷·¢Ë͵½Ô¶³Ì¼ÆËã»ú£¬²¢°ÑÔ¶³Ì¼ÆËã»úµÄÆÁÄ»·¢»Øµ½±¾µØ£¬ VNC Viewer¿ÉÒÔº ......

LinuxÉ豸Çý¶¯Ö®USB hubÇý¶¯


------------------------------------------
±¾ÎÄϵ±¾Õ¾Ô­´´,»¶Ó­×ªÔØ!
תÔØÇë×¢Ã÷³ö´¦:http://ericxiao.cublog.cn/
------------------------------------------
Ò»:Ç°ÑÔ
¼ÌUHCIµÄÇý¶¯Ö®ºó,ÎÒÃǶÔUSB ControlµÄÔË×÷ÓÐÁËÒ»¶¨µÄÁ˽â.ÔÚ½ÓÏÂÀ´µÄ·ÖÎöÖÐ,ÎÒÃǶÔUSBÉ豸µÄÇý¶¯×öÒ»¸öÈ«ÃæµÄ·ÖÎö,ÎÒÃÇÏÈ´ÓHUBµÄÇý¶¯ËµÆð.¹ ......

LinuxÏÂSVN°²×°ÅäÖÃÈ«³Ìʵ¼


Ò»¡¢°²×°SVNĬÈÏ°²×°µ½/usr/local/binÏÂÃæ
¶þ¡¢´´½¨²Ö¿â svnadmin create /home/svnrepo
/root/svnrepoΪËù´´½¨²Ö¿âµÄ·¾¶£¬ÀíÂÛÉÏ¿ÉÒÔÊÇÈκÎĿ¼
Èý¡¢ÐÞ¸ÄÅäÖÃÎļþ/home/svnrepo/conf/svnserve.conf
#È¥µô#[general]Ç°ÃæµÄ#ºÅ
[general]
#ÄäÃû·ÃÎʵÄȨÏÞ£¬¿ÉÒÔÊÇread,write,none,ĬÈÏΪread
anon-access = none
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ