Linux USBÇý¶¯¿ò¼Ü·ÖÎöÏÂ
probeÊÇusb×Óϵͳ×Ô¶¯µ÷ÓõÄÒ»¸öº¯Êý£¬ÓÐUSBÉ豸½Óµ½Ó²¼þ¼¯Ï߯÷ʱ£¬usb×Óϵͳ»á¸ù¾Ýproduction IDºÍvendor IDµÄ×éºÏ»òÕßÉ豸µÄclass¡¢subclass¸úprotocolµÄ×éºÏÀ´Ê¶±ðÉ豸µ÷ÓÃÏàÓ¦Çý¶¯³ÌÐòµÄprobe£¨Ì½²â£©º¯Êý£¬¶ÔÓÚskeletonÀ´Ëµ£¬¾ÍÊÇskel_probe¡£ÏµÍ³»á´«µÝ¸øÌ½²âº¯ÊýÒ»¸öusb_interface *¸úÒ»¸östruct usb_device_id *×÷Ϊ²ÎÊý¡£ËûÃÇ·Ö±ðÊǸÃUSBÉ豸µÄ½Ó¿ÚÃèÊö£¨Ò»°ã»áÊǸÃÉ豸µÄµÚ0ºÅ½Ó¿Ú£¬¸Ã½Ó¿ÚµÄĬÈÏÉèÖÃÒ²ÊǵÚ0ºÅÉèÖ㩸úËüµÄÉ豸IDÃèÊö£¨°üÀ¨Vendor ID¡¢Production IDµÈ£©¡£probeº¯Êý±È½Ï³¤£¬ÎÒÃÇ·Ö¶ÎÀ´·ÖÎöÕâ¸öº¯Êý£º
dev->udev = usb_get_dev(interface_to_usbdev(interface));
dev->interface = interface;
ÔÚ³õʼ»¯ÁËһЩ×ÊÔ´Ö®ºó£¬¿ÉÒÔ¿´µ½µÚÒ»¸ö¹Ø¼üµÄº¯Êýµ÷Ó×—interface_to_usbdev¡£ËûͬuoÒ»¸öusb_interfaceÀ´µÃµ½¸Ã½Ó¿ÚËùÔÚÉ豸µÄÉ豸ÃèÊö½á¹¹¡£±¾À´£¬ÒªµÃµ½Ò»¸öusb_deviceÖ»ÒªÓÃinterface_to_usbdev¾Í¹»ÁË£¬µ«ÒòΪҪÔö¼Ó¶Ô¸Ãusb_deviceµÄÒýÓüÆÊý£¬ÎÒÃÇÓ¦¸ÃÔÚ×öÒ»¸öusb_get_devµÄ²Ù×÷£¬À´Ôö¼ÓÒýÓüÆÊý£¬²¢ÔÚÊÍ·ÅÉ豸ʱÓÃusb_put_devÀ´¼õÉÙÒýÓüÆÊý¡£ÕâÀïÒª½âÊ͵ÄÊÇ£¬¸ÃÒýÓüÆÊýÖµÊǶԸÃusb_deviceµÄ¼ÆÊý£¬²¢²»ÊǶԱ¾Ä£¿éµÄ¼ÆÊý£¬±¾Ä£¿éµÄ¼ÆÊýÒªÓÉkrefÀ´Î¬»¤¡£ËùÒÔ£¬probeÒ»¿ªÊ¼¾ÍÓгõʼ»¯kref¡£ÊÂʵÉÏ£¬kref_init²Ù×÷²»µ¥Ö»³õʼ»¯kref£¬»¹½«ÆäÖÃÉè³É1¡£ËùÒÔÔÚ³ö´í´¦Àí´úÂëÖÐÓÐkref_put£¬Ëü°ÑkrefµÄ¼ÆÊý¼õ1£¬Èç¹ûkref¼ÆÊýÒѾΪ0£¬ÄÇôkref»á±»ÊÍ·Å¡£kref_putµÄµÚ¶þ¸ö²ÎÊýÊÇÒ»¸öº¯ÊýÖ¸Õ룬ָÏòÒ»¸öÇåÀíº¯Êý¡£×¢Ò⣬¸ÃÖ¸Õë²»ÄÜΪ¿Õ£¬»òÕßkfree¡£¸Ãº¯Êý»áÔÚ×îºóÒ»¸ö¶ÔkrefµÄÒýÓÃÊÍ·Åʱ±»µ÷Óã¨Èç¹ûÎÒµÄÀí½â²»×¼È·£¬ÇëÖ¸Õý£©¡£ÏÂÃæÊÇÄÚºËÔ´ÂëÖеÄÒ»¶Î×¢Êͼ°´úÂ룺
/**
* kref_put - decrement refcount for object.
* @kref: object.
* @release: pointer to the function that will clean up the object when the
* last reference to the object is released.
* This pointer is required, and it is not acceptable to pass kfree
* in as this function.
*
* Decrement the refcount, and if 0, call release().
* Return 1 if the object was removed, otherwise return 0. Beware
Ïà¹ØÎĵµ£º
MYSQL°²×°
//½âѹ±àÒë°²×°
# tar xzvf mysql-5.0.27.tar.gz
# cd mysql-5.0.27
# ./configure -prefix=/home/redadmin/mysql
# make
# make install
# cd /home/redadmin/mysql/
# cp share/mysql/my-medium.cnf ./
# mv my-medium.cnf my.cnf
// my.confÎļþÐÞ¸Ä
# vi my.cnf
ÐÞ¸Äǰ£º
port &nb ......
×¼±¸¹¤×÷:
¡¡¡¡Óõ½µÄperl À©Õ¹×é¼þ(modules)ÔÚÉÏÆªÌù³ö.( win32::odbc Ä£¿é
)ÏÂÔØ×é¼þºó°´ÕÕReadmeÎļþ°²×°µ¹ÏìӦĿ¼.ÅäÖúÃÏàÓ¦µÄodbcÊý¾ÝÔ´.
¡¡¡¡
¡¡¡¡³ÌÐòʵÏÖ:
¡¡¡¡Ê¹ÓÃ
¡¡¡¡use
Win32::ODBC;
¡¡¡¡
¡¡¡¡Óï¾ä°üº¬Ó¦Ê¹ÓõÄÄ£¿éÊÇwin32::odbc,д³öÊý¾Ý¿â
Á¬½Ó×Ö·û´®
¡¡¡¡
¡¡¡¡$DSN = "DSN =
My DSN ......
µÚÒ»´ÎÔÚLinuxϱà³Ì¡£ºÇºÇ
ÔÚÍøÉÏËÑË÷ÁËÒ»ÏÂÔõôÑùÔÚLinuxϱà³Ì¡£ËµÊÇÓÃGeditдºÃ´úÂ룬Ȼºó±£´æ.c¸ñʽÎļþ¡£È»ºóµ½Öն˱àÒë¡£
´ò¿ªGedit.ÀÏ¹æ¾Ø£¬ÏÈÀ´¸öHello.c
#include <stdio.h>
main()
{
printf("Hello~!Vimo~~\n\n");
}
±£´æ¡£È»ºó´ò¿ªÖÕ¶Ë¡£
±àÒëÊÇʲôÃüÁû°ì·¨£¬ÎÊÏÂͬѧ¡£°¢Á鏿ËßÎÒ£º ......
ÎÒÃÇͨ³£°ÑһЩ¹«Óú¯ÊýÖÆ×÷³Éº¯Êý¿â£¬¹©ÆäËü³ÌÐòʹÓá£
º¯Êý¿â·ÖΪ¾²Ì¬¿âºÍ¶¯Ì¬¿âÁ½ÖÖ¡£
¾²Ì¬¿âÔÚ³ÌÐò±àÒëʱ»á±»Á¬½Óµ½Ä¿±ê´úÂëÖУ¬³ÌÐòÔËÐÐʱ½«²»ÔÙÐèÒª¸Ã¾²Ì¬¿â¡£
¶¯Ì¬¿âÔÚ³ÌÐò±àÒëʱ²¢²»»á±»Á¬½Óµ½Ä¿±ê´úÂëÖУ¬¶øÊÇÔÚ³ÌÐòÔËÐÐÊDzű»ÔØÈ룬Òò´ËÔÚ³ÌÐòÔËÐÐʱ»¹ÐèÒª¶¯Ì¬¿â´æÔÚ¡£
±¾ÎÄÖ÷Ҫͨ¹ý¾ÙÀýÀ´ËµÃ÷ÔÚLinuxÖÐÈçº ......
³õ´Î½Ó´¥ÓëOSÏà¹ØµÄÉ豸Çý¶¯±àд£¬¸Ð¾õ»¹Í¦ÓÐÒâ˼µÄ£¬ÎªÁ˲»ÖÁÓÚÍüµô¿´¹ýµÄ¶«Î÷£¬±Ê¼Ç¸ú×ܽᵱȻ²»¿Éȱ£¬¸üºÎ¿öÎÒ¾ö¶¨ÎªÇ¶ÈëʽÂôÃüÁË¡£ºÃ£¬ÑÔ¹éÕý´«£¬ÎÒ˵һ˵Õâ¶Îʱ¼äµÄÊÕ»ñ£¬¸ú´ó¼Ò·ÖÏíÒ»ÏÂLinuxµÄÇý¶¯¿ª·¢¡£µ«Õâ´ÎÖ»ÏÈÕë¶ÔLinuxµÄUSB×Óϵͳ×÷·ÖÎö£¬ÒòΪÖÜÎåÑÐÌÖÀϰå´ß»õ¡£µ±È»£¬»¹»á˳´øÌáÒ»ÏÂÆäËûµÄÇý¶¯³ÌÐòд·¨¡£
&n ......