ÉîÈëÀí½âLinux kernel£¨Äںˣ©ÖеÄsignalº¯Êý
ÔÚLinuxÄں˴úÂëÖУ¬ÓÐÒ»¸öÐźŴ¦Àí°ó¶¨Æ÷º¯Êýsignal£¬Ëüµ½ÔÐͶ¨ÒåÈçÏ£¬Í¨¹ýman 2 signal¿ÉÒԲ鿴ÆäÔÐÍ¡£
#include <signal.h>
typedef void (*sighandler_t)(int); (1)
sighandler_t signal(int signum,sighandler_t handler); (2)
µÚÒ»¾äÊǰüº¬Í·Îļþ£¬µÚ¶þ¾äÊÇÀàÐͶ¨Ò壬µÚÈý¾ä²ÅÊÇsignalº¯Êýµ½ÕæÕýÉùÃ÷¡£À©Õ¹ÉùÃ÷ºó£¬ÕæÕýµ½ÉùÃ÷Ϊ
void (*signal(int signum,void (*sighandler)(int)))(int); (3)
µÚ£¨3£©¿´ÆðÀ´±ÈµÚ£¨1£©ºÍ£¨2£©¾ä¸üÄÑÀí½â£¬Ê×ÏÈ´Ó£¨1£©£¨2£©ÏÂÊÖ¡£
£¨1£©±íʾsighandler_tÊÇ×Ô¶¨ÒåÀàÐÍ£¬ËüÆäʵÊÇÒ»ÖÖº¯ÊýÖ¸ÕëÀàÐÍ£¬ËüÖ¸Ïòµ½º¯Êýµ½ÐβÎΪint£¬·µ»ØÖµÎªvoid¡£
£¨2£©±íʾsignalº¯Êýµ½ÐβÎÓÐÒ»¸öintÐÍsignum£¬ÒÔ¼°Ò»¸ösighandler_tÐ͵½ÐβÎhandler£¬·µ»ØÒ»¸ösighandler_tÐ͵½Öµ£¬ÓÉ£¨1£©¿ÉÒÔÖªµÀ£ºsighandler_tÊǺ¯ÊýÖ¸ÕëÀàÐÍ£¬ËùÒÔsignalµ½µÚ¶þ¸öÐβÎÊÇÒ»¸öº¯ÊýÖ¸Õ룬²¢ÇÒsignalº¯Êý·µ»ØÒ»¸öº¯ÊýÖ¸Õë¡£ËüÃÇÖ¸Ïòµ½º¯ÊýÀàÐͶ¼ÊǾßÓÐÒ»¸öintÐβΣ¬·µ»ØÎªvoidµ½º¯Êý¡£
ÃԻ󣺶ÔÓÚsignalº¯Êý£¬¶ÔÓÚ³õѧÕßÀ´Ëµ£¬²»½öÊÇÓï·¨Éϵ½ÃԻ󣬻¹ÓÐÓ¦ÓÃÉϵ½ÃÔ»ó£¬ÏÂÃæ½áºÏÎÒ×Ô¼ºµ½Àí½â£¬¾ÙÀý˵Ã÷ÔõÑùÀí½âsignalº¯Êý¡£
´úÂëthink.c-----------------------------------------------------------------------------------
#include<stdio.h>
/*¶¨ÒåÒ»¸öº¯Êý*/
void func(int a){
printf("in func a=%d\n",a);
}
/*ÉùÃ÷Ò»¸öº¯ÊýÖ¸Õë*/
void (*pfunc)(int);
/*¶¨ÒåÎÒÃÇ×Ô¼ºµ½my_signalº¯Êý*/
void (*my_signal(int sig,void (*handler)(int h)))(int c){
printf("in my_signal\n");
/*ÏëÒ»ÏÂÏÂÃæÒ»¾ä£¬¶ÔÂð£¿*/
return handler;
}
int main(){
printf("before invoke 'void func(int)'\n");
func(1); /*(4)*/
pfunc=func;
printf("before invoke 'void func(int) by function pointer'\n");
pfunc(2); /*(5)*/
printf("before invoke 'my_signal(int sig,void (*handler)(int h)))'\n");
&n
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
1¡¢ÒýÑÔ
ÔÚlinuxϵͳÏ£¬Èç¹ûÄãÏÂÔØ²¢°²×°ÁËÓ¦ÓóÌÐò£¬ºÜÓпÉÄÜÔÚ¼üÈëËüµÄÃû³ÆÊ±³öÏÖ“command not
found”µÄÌáʾÄÚÈÝ¡£Èç¹ûÿ´Î¶¼µ½°²×°Ä¿±êÎļþ¼ÐÄÚ£¬ÕÒµ½¿ÉÖ´ÐÐÎļþÀ´½øÐвÙ×÷¾ÍÌ«·±ËöÁË¡£ÕâÉæ¼°µ½»·¾³±äÁ¿PATHµÄÉèÖÃÎÊÌ⣬¶øPATHµÄÉèÖÃÒ²
ÊÇÔÚlinux϶¨ÖÆ»·¾³±äÁ¿µÄÒ»¸ö×é³É²¿·Ö¡£±¾Î ......
ͻ񻣼
±¾ÎĽ²ÊöµÄʱ½ø³Ì¹ÜÀíµÄ»ù±¾¸ÅÄîºÍ½ø³Ì¹ÜÀí¹¤¾ß½éÉÜ£»ÎÄÖеÄÖØµã¶Ô½ø³Ì¹ÜÀí¹¤¾ßµÄ·ÖÀà½éÉܼ°Ó¦ÓþÙÀý£¬°üÀ¨ ps¡¢pgrep¡¢top
¡¢kill¡¢pkill¡¢killall¡¢niceºÍrenice µÈ¹¤¾ß¡£
http://www.linuxsir.org/main/?q=node/210
1¡¢³ÌÐòºÍ½ø³Ì£»
³ÌÐòÊÇΪÁËÍê³ÉijÖÖÈÎÎñ¶øÉè¼ÆµÄÈí¼þ£¬±ÈÈçOpenOfficeÊdzÌÐò¡£Ê²Ã´Êǽø³Ì ......