linuxÄÚºËÄ£¿é½âÎö
Linux ¾ÍÊÇͨ³£Ëù˵µÄµ¥Äںˣ¨monolithic kernel£©£¬¼´²Ù×÷ϵͳµÄ´ó²¿·Ö¹¦Äܶ¼±»³ÆÎªÄںˣ¬²¢ÔÚÌØÈ¨Ä£Ê½ÏÂÔËÐС£ËüÓë΢ÐÍÄÚºË ²»Í¬£¬ºóÕßÖ»°Ñ»ù±¾µÄ¹¦ÄÜ£¨½ø³Ì¼äͨÐÅ [IPC]¡¢µ÷¶È¡¢»ù±¾µÄÊäÈë/Êä³ö [I/O] ºÍÄÚ´æ¹ÜÀí£©µ±×÷ÄÚºËÔËÐУ¬¶ø°ÑÆäËû¹¦ÄÜ£¨Çý¶¯³ÌÐò¡¢ÍøÂç¶ÑÕ»ºÍÎļþϵͳ£©ÅųýÔÚÌØÈ¨¿Õ¼äÖ®Íâ¡£Òò´Ë£¬Äú¿ÉÄÜÈÏΪ Linux ÊÇÒ»¸öÍêÈ«¾²Ì¬µÄÄںˣ¬µ«ÊÂʵǡǡÏà·´¡£Í¨¹ý Linux ÄÚºËÄ£¿é£¨LKM£©¿ÉÒÔÔÚÔËÐÐʱ¶¯Ì¬µØ¸ü¸Ä Linux¡£
¿É¶¯Ì¬¸ü¸Ä ÊÇÖ¸¿ÉÒÔ½«ÐµĹ¦ÄܼÓÔØµ½Äںˡ¢´ÓÄÚºËÈ¥³ýij¸ö¹¦ÄÜ£¬ÉõÖÁÌí¼ÓʹÓÃÆäËû LKM µÄРLKM¡£LKM µÄÓŵãÊÇ¿ÉÒÔ×îС»¯Äں˵ÄÄÚ´æÕ¼Óã¬Ö»¼ÓÔØÐèÒªµÄÔªËØ£¨ÕâÊÇǶÈëʽϵͳµÄÖØÒªÌØÐÔ£©¡£
Linux ²»ÊÇ¿ÉÒÔ½øÐж¯Ì¬¸ü¸ÄµÄΩһ£¨Ò²²»ÊǵÚÒ»¸ö£©µ¥Äںˡ£Berkeley Software Distribution£¨BSD£©µÄ±äÌå¡¢Sun Solaris¡¢¸üÀϵÄÄںˣ¨±ÈÈç OpenVMS£©£¬ÒÔ¼°ÆäËûÁ÷ÐеIJÙ×÷ϵͳ£¨±ÈÈç Microsoft® Windows® ºÍ Apple Mac OS X£©¶¼Ö§³Ö¿É¼ÓÔØÄ£¿é¡£
LKM£¬ËüÊÇÒÔÒ»¸öʲôÑùµÄ¶«Î÷ÄØ£¿ÎÒÃÇÖªµÀ£¬Ëû±àÒëÖ®ºó»áÊÇÒ»¸ökoºó׺ÃûµÄ¶«Î÷£¬µ«ÊÇÀïÃæÊÇÒ»¸öʲôÑùµÄ¡£ÎÒÃÇ¿´£¬Ò»°ãµÄÄ£¿éµÄÄ£°å¡£
/*
* hello.c Hello, World! As a Kernel Module
*/
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h>
/*
* hello_init the init function, called when the module is loaded.
* Returns zero if successfully loaded, nonzero otherwise.
*/
static int hello_init(void)
{
printk(KERN_ALERT "I bear a charmed life.\n");
return 0;
}
/*
* hello_exit the exit function, called when the module is removed.
*/
static void hello_exit(void)
{
printk(KERN_ALERT "Out, out, brief candle!\n");
}
module_init(hello_init);
module_exit(hello_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Shakespeare");
Ä£¿é²¢²»ÊÇÇý¶¯£¬Ö»ÊÇLinuxµÄÒ»ÖÖÄÚºËÀ©Õ¹»úÖÆ£¬Çý¶¯¾ÍÊǽèÖúÕâÖÖ»úÖÆµÄ£¬ÀíÂÛÉÏÓ¦¸ÃÕâÑùµÄÀí½â¡£
Õâ¾ÍÊÇÒ»¸öÄ£¿éµÄ»ù±¾Ä£°å£¬Í¨¹ý±àÒëÖ®ºó£¬»áÉú³ÉÒ»¸öko£¬×¢Ò⣬±àÒëµÄʱºòÓëÆäËûµÄÓ¦ÓóÌÐòÓкܴóµÄ²»Í¬£¬ÔÒòÊÇËüÉú³ÉµÄ¶«Î÷Ê
Ïà¹ØÎĵµ£º
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
±ÈÈç˵Ҫ¿´
http://broadcast.hzcnc.com/player.asp?code=345&pname=%u65e0%u95f4%u9053
$ curl 'http://broadcast.hzcnc.com/Play.aspx?code=345'
<ASX VERSION = "3.0">
<ENTRY>
<REF HREF = &quo ......
multigetºÅ³ÆÎªlinuxϵÄѶÀ×£¬ÏÂÔØËٶȺܿì,Ö§³Ö¶ÏµãÐø´«£¬ÇÒÓÐѶÀ×Ò»ÑùµÄÐü¸¡¿ò£¬ºÜÊÇ·½±ã¡£µ«ÓÉÓÚÆäÓÚ2007ÄêÍ£Ö¹¸üкͿª·¢£¬¶ø
linuxµÄ±àÒëÈí¼þÈ´ÔÚ²»¶Ï¸üУ¬gccµÈ±àÒë³ÌÐò¶Ô³ÌÐò´úÂëµÄÓï·¨ºÍ²ÎÊýÒªÇóÔ½À´Ô½Ñϸñ£¬ËùÒÔÏÖÔÚ¾ÍÔì³ÉÁË´ó¶àÊýlinux»á³öÏÖ±àÒë°²×°
multiget1.2ʧ°ÜµÄÏÖÏó£¬ÉÏÃæ¸½¼þÊÇÎÒÐ޸ĺóµÄmultiget£¬ ......
¢Ùmallocº¯Êý
ÔÐÍ£ºextern void *malloc(unsigned int num_bytes);
Í·Îļþ£º#include <alloc.h>
¹¦ÄÜ£º·ÖÅ䳤¶ÈΪnum_bytes×Ö½ÚµÄÄÚ´æ¿é¡£
˵Ã÷£ºÈç¹û·ÖÅä³É¹¦Ôò·µ»ØÖ¸Ïò±»·ÖÅäÄÚ´æµÄÖ¸Õ룬·ñÔò·µ»Ø¿ÕÖ¸ÕëNULL¡£µ±ÄÚ´æ²»ÔÙʹÓÃʱ£¬Ó¦Ê¹ÓÃfree()º¯Êý½«ÄÚ´æ¿éÊÍ·Å¡£
¾ÙÀý£º
#inclu ......