LinuxÖÐ ¾²Ì¬¿âºÍ¹²Ïí¿â
1£® ´´½¨Ä¿Â¼
mkdir –p test/sub
2£® ÔÚ×ÓĿ¼sub/ϱàдhello.cºÍhello.h
/*****hello.c*****/
#include <stdio.h>
#include “hello.h”
void hello()
{
printf(“Hello!\n”);
}
/*****hello.h*****/
#include <stdio.h>
void hello();
3£® ±àÒëÁ´½Ó/´ò°ü
gcc –c hello.c –o hello.o
ar cqs libhello.a hello.o
4£® ÔÚÖ÷Ŀ¼test/ϱàдmain.c
#include <stdio.h>
#include “sub/hello.h”
int main()
{
hello();
retrun 0;
}
5£® ±àÒëÁ´½Ó
gcc –c main.c –o main.o
gcc main.o –o main.exe –L “sub/” –lhello #dynamically linked (uses shared libs)
»ògcc main.o –o main.exe –static –L “sub/” –lhello # statically linked
--------------------------------------------------------------------------------------------------
.a(archive) ¾²Ì¬¿â
.so(shared object) ¹²Ïí¿â
¾²Ì¬¿âÖ»ÔÚ³ÌÐòÁ´½ÓʱÆð×÷Óã¬×îÖÕµÄÖ´ÐгÌÐòÍÑÀ뾲̬¿âÔËÐС£
¹²Ïí¿âÔÚ³ÌÐòÔËÐÐʱÆð×÷Óá£
--------------------------------------------------------------------------------------------------
¹²Ïí¿âµÄ±àºÅÔ¼¶¨
¸ñʽlibrary_name.major_num.minor_num.patch_num
ÀýÈçlibminigui.so.2.0.0
major_num:µ±¿âµÄ±ä»¯´ïµ½Á˺ÍÒÔÇ°µÄ°æ±¾²»ÄܼæÈݵijɶ¼Ê±¾ÍÒªÔö¼ÓÖ÷°æ±¾ºÅ
minor_num:µ±¿âÓÐÁËб仯ÓÖÄܺÍÒÔÇ°µÄ°æ±¾±£³Ö¼æÈÝʱ¾ÍÖ»¸Ä±ä´Î°æ±¾ºÅ
patch_num:ΪÐÞÕý¿âÖеĴíÎó¶ø½øÐеĸĶ¯Ôò»á¸Ä±ä²¹¶¡¼¶±ðºÅ£¬ËüÓÖ½Ð×ö·¢ÐкÅ(release number)¡£
ÒÔ_gºÍ_p½áβµÄ¿â£º
ÀýÈçlibminigui_g.aºÍlibminigui_p.a
Ëü
ÃÇÊÇ»ù±¾¿âµÄÌØÊâ°æ±¾£¬»ù±¾¿âΪlibminigui.a¡£ÒÔ_g½áβµÄ¿âÊǵ÷ÊԿ⣬±àÈëÁËÌØÊâµÄ·ûºÅºÍ¹¦ÄÜ£¬Ôö¼ÓÁ˶ԲÉÓÃÁËÕâ¸ö¿âµÄÓ¦ÓóÌÐòµÄµ÷ÊÔ¹¦
ÄÜ¡£ÒÔ_p½áβµÄ¿âÊÇ´úÂëÆÊÎö¿â(profiling)£¬ËüÃÇ°üº¬µÄ´úÂëºÍ·ûºÅÄܽøÐи´ÔӵĴúÂëÆÊÎöºÍÐÔÄÜ·ÖÎö¡£ÄãÈç¹ûʹÓÃÁËÕâÁ½Àà¿â£¬Ò»µ©Íê³ÉÁ˵÷ÊÔºÍ
ÆÊÎ
Ïà¹ØÎĵµ£º
£¨L2CAPÐÒé¼ò½é£¬L2CAPÔÚBlueZÖеÄʵÏÖÒÔ¼°L2CAP±à³Ì½Ó¿Ú£©
Ò»£ºL2CAPÐÒé¼ò½é£º
Logical Link Control and Adaptation Protocol(L2CAP)
Âß¼Á¬½Ó¿ØÖƺÍÊÊÅäÐÒé (L2CAP) ΪÉϲãÐÒéÌṩÃæÏòÁ¬½ÓºÍÎÞÁ¬½ÓµÄÊý¾Ý·þÎñ£¬²¢Ìṩ¶àÐÒ鹦ÄܺͷָîÖØ×é²Ù×÷¡£L2CAP ³äÐíÉϲãÐÒéºÍÓ¦ÓÃÈí¼þ´«ÊäºÍ½ÓÊÕ×î´ó³¤¶ÈΪ 64K µÄ L2CAP Ê ......
×î½ü×ölinuxϵͳ²Ã¼ô£¬ÐÞ¸ÄǶÈëʽϵͳµÄinittabÎļþʱÎ󽫱¾»úinittabÎļþÐ޸ġ£
rebootºó³öÏÖ
INIT: /etc/inittab[2]: missing id field
INIT: /etc/inittab[3]: missing id field.
Enterrunlevel:
ÊäÈë3,»ò1£¬»òsinggleºó³öÏÖ
INIT: no more processess left in this runlevel
ϵͳֹͣ¡£
google£¬baiduµ½Ò»ÆªÒý ......
ÓɲÙ×÷ϵͳʵÏÖµÄËùÓÐϵͳµ÷ÓÃËù¹¹³ÉµÄ¼¯ºÏ¼´³ÌÐò½Ó¿Ú»òÓ¦Óñà³Ì½Ó¿Ú(Application Programming Interface£¬API)¡£ÊÇÓ¦ÓóÌÐòͬϵͳ֮¼äµÄ½Ó¿Ú¡£
¡¡¡¡²Ù×÷ϵͳµÄÖ÷Òª¹¦ÄÜÊÇΪӦÓóÌÐòµÄÔËÐд´½¨Á¼ºÃµÄ»·¾³£¬ÎªÁË´ïµ½Õâ¸öÄ¿µÄ£¬ÄÚºËÌṩһϵÁо߱¸Ô¤¶¨¹¦ÄܵĵÄÄں˺¯Êý£¬Í¨¹ýÒ»×é³ÆΪϵͳµ÷Óõģ¨system call)µÄ½Ó¿Ú³ÊÏÖ¸øÓà ......
#include <errno.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <string.h>
#include <netinet/in.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <s ......
Ò»¡¢ËµÃ÷
¡¡¡¡ÀàËÆWindowsϵͳÖеĶ¯Ì¬Á´½Ó¿â£¬LinuxÖÐÒ²ÓÐÏàÓ¦µÄ¹²Ïí¿âÓÃÒÔÖ§³Ö´úÂëµÄ¸´Óá£WindowsÖÐΪ*.dll£¬¶øLinuxÖÐΪ*.so¡£ÏÂÃæÏêϸ½éÉÜÈçºÎ´´½¨¡¢Ê¹ÓÃLinuxµÄ¹²Ïí¿â¡£
¶þ¡¢´´½¨¹²Ïí¿â
ÔÚmytestso.cÎļþÖУ¬´úÂëÈçÏ£º
#include <stdio.h>
#include <stdlib.h>
int GetMax(int a, int b)
{
i ......