linuxʹÓÃÏÂʹÓö¯Ì¬Ó뾲̬¿â
¸Ð¾õ¶ÔÕâ¸öÓÐЩÔΣ¬×öÁ˸öʵÑ飬ŪÇå³þÁË¡£
ʵÑé˼·£¬ÓÃͬһ·Ý´úÂë±àÒëͬʱÉú³É¶¯Ì¬ºÍ¾²Ì¬¿â£¬Í¨¹ý²âÊÔ³ÌÐòµ÷Ó㬿´µ÷ÓõÄÊǶ¯Ì¬¿â»¹ÊǾ²Ì¬¿â¡£
Éú³É¾²Ì¬¿â´úÂ룺
/***********hellod.h*************/
#ifndef _HELLO_S_H
#define _HELLO_S_H
void prints(char *str);
#endif
/*hellod.c*/
#include "hellod.h"
#include <stdio.h>
void printd(char *str)
{
printf("print in static way:%s",str);
}
gcc -c -o hellod.o hellod.c
ar cqs libhellod.a hellod.o
Éú³ÉµÄ¾²Ì¬¿âΪlibhellod.a
Éú³É¶¯Ì¬¿â´úÂë:
½«ÉÏÃæhellod.cÖеĴòÓ¡Óï¾ä£¬´òÓ¡ÊäÈë:print in dynamic way¡£ÒÔÊ¾Çø±ð¡£
gcc -shared -o libhellod.so hellod.c
Éú³ÉµÄ¶¯Ì¬¿âΪlibhellod.so¡£
²âÊÔ´úÂëmain.c
#include "hellod.h"
int main(void)
{
char *text = "hello,world\n";
printd(text);
}
ʹÓþ²Ì¬¿â:gcc -o hello main.c -static -L./ -lhellod
Ö´ÐÐÉú³ÉÎļþ£¬´òÓ¡:print in static way:hello,world
ʹÓö¯Ì¬¿â£º gcc -o hello main.c -L./ -lhellod
Ö´Ðк󣬴òÓ¡ print in dynamic way:hello,world
Ïà¹ØÎĵµ£º
Service Discovery Protocol(SDP)ÌṩһÖÖÄÜÁ¦£¬ÈÃÓ¦ÓóÌÐòÓз½·¨·¢ÏÖÄÄÖÖ·þÎñ¿ÉÓÃÒÔ¼°ÕâÖÖ·þÎñµÄÌØÐÔ¡£
·þÎñ·¢ÏÖÐÒé(SDP»òBluetooth SDP)ÔÚÀ¶ÑÀÐÒéÕ»ÖжÔÀ¶ÑÀ»·¾³ÖеÄÓ¦ÓóÌÐòÓÐÌØÊâµÄº¬Ò⣬·¢ÏÖÄĸö·þÎñÊÇ¿ÉÓõĺÍÈ·¶¨ÕâЩ¿ÉÓ÷þÎñµÄÌØÕ÷¡£SDP¶¨ÒåÁËbluetooth client·¢ÏÖ¿ÉÓÃbluetooth server·þÎñºÍËüÃǵÄÌØÕ÷µÄ·½·¨¡£ ......
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
linux/arch/i386/boot/compressed/head.S
ÔÚsetup()½áÊøºó£¬´Ëº¯Êý¾Í±»Òƶ¯µ½ÎïÀíµØÖ·0x00100000´¦»òÕß0x00001000´¦£¬ÕâÈ¡¾öÓÚÄÚºËÓ³ÏñÊDZ»¸ß×°ÔØµ½ramÖл¹ÊǵÍ×°ÔØµ½ramÖС£
½â¶Áº¯Êý£º
startup_32:
cld
cli
&n ......
½ø³ÌÊdzÌÐòÖ´ÐÐʱµÄÒ»¸öʵÀý£¬Êdzä·ÖÃèÊö³ÌÐòÒѾִÐе½ºÎÖ̶ֳȵÄÊý¾Ý½á¹¹µÄ»ã¼¯¡£ÔÚlinuxÖУ¬³£½«½ø³Ì³ÆÎªÈÎÎñ£¨task£©»òÕßỊ̈߳¨thread£©¡£½ø³ÌµÄÄ¿µÄ¾ÍÊdzе£·ÖÅäϵͳ×ÊÔ´µÄʵÌå¡£
µ±Ò»¸ö½ø³Ì´´½¨Ê±£¬¼¸ºõÓ븸½ø³ÌÏàͬ¡£½ÓÊܸ¸½ø³ÌµØÖ·¿Õ¼äµÄÒ»¸öÂß¼¿½±´£¬²¢´Ó½ø³Ì´´½¨ÏµÍ³µ÷ÓõÄÏÂÒ»ÌõÖ¸ÁʼִÐÐÓ븸½ø³ÌÏàͬµÄ´ú ......
»¶Ó»Øµ½KernelÖÐ……
¼ÌÐøËµ__vet_atagsº¯Êý£¬Õâ¸öº¯ÊýÈԾɶ¨ÒåÔÚarch\arm\kernel\head-common.sÎļþÖУº
/* Determine validity of the r2 atags pointer. The heuristic requires
* that the pointer be aligned, in the first 16k of physical RAM and
* that the ATAG_CORE marker ......