linux϶¯Ì¬¿âÓ뾲̬¿â
ÌåÑéÒ»ÏÂlinuxϱàдºÍʹÓö¯Ì¬¿âÓ뾲̬¿â£¬·¶Àý£ºhelloworld³ÌÐò¡£
Ê×Ïȱàд¾²Ì¬¿â£º
hellos.h
#ifndef _HELLO_S_H
#define _HELLO_S_H
void prints(char *str);
#endif
hellos.c
#include "hellos.h"
#include <stdio.h>
void prints(char *str)
{
printf("print in static way:%s",str);
}
¿ªÊ¼±àÒë³É¾²Ì¬¿â£º
gcc -c -o hellos.o hellos.c
ar cqs libhellos.a hellos.o
main.c
#include "hellos.h"
int main(void)
{
char *text = "hello,world\n";
prints(text);
}
ʹÓþ²Ì¬¿â±àÒ룺gcc -o hello main.c -static -L. -lhellos
È»ºóÔËÐÐhello,Êä³ö£º
print in static way: Hello World!
ɾ³ý
libhellos.aºÍ
hellos.*ºó, ³ÌÐòÈÔÈ»Õý³£ÔËÐС£
±àд¶¯Ì¬¿â
£º
hellod.h
#ifndef _HELLO_D_H
#define _HELLO_D_H
void printd(char *str);
#endif
hellod.c
#include "hellod.h"
#include <stdio.h>
void printd(char *str)
{
printf("print in dynamic way:%s",str);
}
±àÒëÉú³É¶¯Ì¬¿â£ºgcc -shared -o libhellod.so hellod.c
ÕâÑù£¬libhellod.so¾ÍÊÇÉú³ÉµÄ¶¯Ì¬¿â¡£
export LD_LIBRARY_PATH=/root/program/link/dynamic/:$LD_LIBRARY_PATH£¬Ö¸¶¨¿âÎļþ·¾¶¡£
Èç¹ûϵͳװÁËSELINUXµÄ»°£¬ÒªÖ´ÐÐchcon -t textrel_shlib_t /root/program/link/dynamic/libhellod.so¸Ä±äȨÏÞ¡£
main.c
#include "hellod.h"
int main(void)
{
char *text = "hello,world\n";
printd(text);
}
gcc -o hello main.c -L./ -lhellod
È»ºóÔËÐÐhello¿ÉÒÔ¿´µ½Êä³ö
print in dynamic way: Hello World!
Èç¹ûɾ³ý¿âÎļþ£¬»á³öÏÖ£º./hello: error while loading shared libraries: libhellod.so: cannot open shared object file: No such file or directory
Ïà¹ØÎĵµ£º
1. HCI²ãÐÒé¸ÅÊö£º
HCIÌṩһÌ×ͳһµÄ·½·¨À´·ÃÎÊBluetoothµ×²ã¡£ÈçͼËùʾ£º
´ÓͼÉÏ¿ÉÒÔ¿´³ö£¬Host Controller Interface(HCI) ¾ÍÊÇÓÃÀ´¹µÍ¨HostºÍModule¡£Hostͨ³£¾ÍÊÇPC£¬ ModuleÔòÊÇÒÔ¸÷ÖÖÎïÀíÁ¬½ÓÐÎʽ£¨USB,serial,pc-cardµÈ£©Á¬½Óµ½PCÉϵÄbluetooth Dongle¡£
ÔÚHostÕâÒ»¶Ë£ºapplication,SDP,L2capµÈÐÒé ......
Òýµ¼ Linux® ϵͳµÄ¹ý³Ì°üÀ¨ºÜ¶à½×¶Î¡£²»¹ÜÄúÊÇÒýµ¼Ò»¸ö±ê×¼µÄ x86 ×ÀÃæÏµÍ³£¬»¹ÊÇÒýµ¼Ò»Ì¨Ç¶ÈëʽµÄ
PowerPC® »úÆ÷£¬ºÜ¶àÁ÷³Ì¶¼¾ªÈ˵ØÏàËÆ¡£±¾ÎĽ«Ì½Ë÷ Linux
µÄÒýµ¼¹ý³Ì£¬´Ó×î³õµÄÒýµ¼µ½Æô¶¯µÚÒ»¸öÓû§¿Õ¼äÓ¦ÓóÌÐò¡£ÔÚ±¾ÎĽéÉܵĹý³ÌÖУ¬Äú½«Ñ§Ï°µ½¸÷ÖÖÓëÒýµ¼ÓйصÄÖ÷Ì⣬ÀýÈçÒýµ¼¼ÓÔØ³ÌÐò¡¢Äں˽âѹ¡¢³õʼ
RA ......
×ʼʱ£¬ramоƬÖаüº¬µÄÊÇËæ»úÊý¾Ý¡£µ±¿ªÊ¼Æô¶¯Ê±£¬cpuµÄÒ»¸öÒý½ÅÉÏ»á²úÉúÒ»¸öresetÂß¼Öµ¡£´Ëºó´¦ÀíÆ÷µÄһЩ¼Ä´æÆ÷ÉèÖóɹ̶¨µÄÊýÖµ£¬²¢Ö´ÐÐÔÚÎïÀíµØÖ·0xfffffff0´¦ÕÒµ½µÄ´úÂë¡£Ó²¼þ°ÑÕâ¸öµØÖ·Ó³É䵽ij¸öÖ»¶Á¡¢³Ö¾ÃµÄ´æ´¢Ð¾Æ¬ÖУ¬¸ÃоƬͨ³£³ÆÎªrom(read-only memoryÖ»¶ÁÄÚ´æ)¡£romËù´æ·ÅµÄ³ÌÐò¼¯ÔÚ80x86ÌåϵÖÐͨ³£½Ð×ö ......
½ø³ÌÊdzÌÐòÖ´ÐÐʱµÄÒ»¸öʵÀý£¬Êdzä·ÖÃèÊö³ÌÐòÒѾִÐе½ºÎÖ̶ֳȵÄÊý¾Ý½á¹¹µÄ»ã¼¯¡£ÔÚlinuxÖУ¬³£½«½ø³Ì³ÆÎªÈÎÎñ£¨task£©»òÕßỊ̈߳¨thread£©¡£½ø³ÌµÄÄ¿µÄ¾ÍÊdzе£·ÖÅäϵͳ×ÊÔ´µÄʵÌå¡£
µ±Ò»¸ö½ø³Ì´´½¨Ê±£¬¼¸ºõÓ븸½ø³ÌÏàͬ¡£½ÓÊܸ¸½ø³ÌµØÖ·¿Õ¼äµÄÒ»¸öÂß¼¿½±´£¬²¢´Ó½ø³Ì´´½¨ÏµÍ³µ÷ÓõÄÏÂÒ»ÌõÖ¸ÁʼִÐÐÓ븸½ø³ÌÏàͬµÄ´ú ......