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 Ê ......
Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......
class CTimeTickCount
{
public:
CTimeTickCount(int threadIndex, int id )
{
struct timezone tz;
gettimeofday(&m_tvStartTime, &tz);
// m_tmStartTime = ACE_OS::gettimeofday();
m_iThreadIndex ......
1¡¢Ïà¹ØÃüÁ
ulimit –a //²é¿´µ±Ç°ÉèÖÃ
ulimit –n 2048 //¼´Éè³É2048£¬°´Êµ¼ÊÐèÒªÉèÖÃ
2¡¢Óû§»·¾³²ÎÊýÎļþÅäÖãº
ÔÚ/etc/profileÖмÓÈëÈçÏÂÄÚÈÝ£º
if
[ $SHELL
=
"
/bin/ksh
"
]; then
ulimit
-
p
16384
ulimit&nbs ......
Ò»¡¢ËµÃ÷
¡¡¡¡ÀàËÆWindowsϵͳÖеĶ¯Ì¬Á´½Ó¿â£¬LinuxÖÐÒ²ÓÐÏàÓ¦µÄ¹²Ïí¿âÓÃÒÔÖ§³Ö´úÂëµÄ¸´Óá£WindowsÖÐΪ*.dll£¬¶øLinuxÖÐΪ*.so¡£ÏÂÃæÏêϸ½éÉÜÈçºÎ´´½¨¡¢Ê¹ÓÃLinuxµÄ¹²Ïí¿â¡£
¶þ¡¢´´½¨¹²Ïí¿â
ÔÚmytestso.cÎļþÖУ¬´úÂëÈçÏ£º
#include <stdio.h>
#include <stdlib.h>
int GetMax(int a, int b)
{
i ......