Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linux lib ¶¯Ì¬¿â

¶¯Ì¬¿â*.soÔÚlinuxÏÂÓÃcºÍc++±à³Ìʱ¾­³£»áÅöµ½£¬×î½üÔÚÍøÕ¾ÕÒÁ˼¸ÆªÎÄÕ½éÉܶ¯Ì¬¿âµÄ±àÒëºÍÁ´½Ó£¬×ÜËã¸ã¶®ÁËÕâ¸ö֮ǰһֱ²»Ì«Á˽âµÃ¶«¶«£¬ÕâÀï×ö¸ö±Ê¼Ç£¬Ò²ÎªÆäËüÕýΪ¶¯Ì¬¿âÁ´½Ó¿â¶ø¿àÄÕµÄÐÖµÜÃÇÌṩһµã°ïÖú¡£
1¡¢¶¯Ì¬¿âµÄ±àÒë
ÏÂÃæÍ¨¹ýÒ»¸öÀý×ÓÀ´½éÉÜÈçºÎÉú³ÉÒ»¸ö¶¯Ì¬¿â¡£ÕâÀïÓÐÒ»¸öÍ·Îļþ£ºso_test.h£¬Èý¸ö.cÎļþ£ºtest_a.c¡¢test_b.c¡¢test_c.c£¬ÎÒÃǽ«Õ⼸¸öÎļþ±àÒë³ÉÒ»¸ö¶¯Ì¬¿â£ºlibtest.so¡£
so_test.h£º
#include <stdio.h>
#include <stdlib.h>
void test_a();
void test_b();
void test_c();
test_a.c£º
#include "so_test.h"
void test_a()
{
    printf("this is in test_a...\n");
}
test_b.c£º
#include "so_test.h"
void test_b()
{
    printf("this is in test_b...\n");
}
test_c.c£º
#include "so_test.h"
void test_c()
{
    printf("this is in test_c...\n");
}
½«Õ⼸¸öÎļþ±àÒë³ÉÒ»¸ö¶¯Ì¬¿â£ºlibtest.so
$ gcc test_a.c test_b.c test_c.c -fPIC -shared -o libtest.so
2¡¢¶¯Ì¬¿âµÄÁ´½Ó
ÔÚ1¡¢ÖУ¬ÎÒÃÇÒѾ­³É¹¦Éú³ÉÁËÒ»¸ö×Ô¼ºµÄ¶¯Ì¬Á´½Ó¿âlibtest.so£¬ÏÂÃæÎÒÃÇͨ¹ýÒ»¸ö³ÌÐòÀ´µ÷ÓÃÕâ¸ö¿âÀïµÄº¯Êý¡£³ÌÐòµÄÔ´ÎļþΪ£ºtest.c¡£
test.c£º
#include "so_test.h"
int main()
{
    test_a();
    test_b();
    test_c();
    return 0;
}
l         ½«test.cÓ붯̬¿âlibtest.soÁ´½ÓÉú³ÉÖ´ÐÐÎļþtest£º
$ gcc test.c -L. -ltest -o test
l         ²âÊÔÊÇ·ñ¶¯Ì¬Á¬½Ó£¬Èç¹ûÁгölibtest.so£¬ÄÇôӦ¸ÃÊÇÁ¬½ÓÕý³£ÁË
$ ldd test
l         Ö´ÐÐtest£¬¿ÉÒÔ¿´µ½ËüÊÇÈçºÎµ÷Óö¯Ì¬¿âÖеĺ¯ÊýµÄ¡£
3¡¢±àÒë²ÎÊý½âÎö
×îÖ÷ÒªµÄÊÇGCCÃüÁîÐеÄÒ»¸öÑ¡Ïî:
          -shared ¸ÃÑ¡ÏîÖ¸¶¨Éú³É¶¯Ì¬Á¬½Ó¿â£¨ÈÃÁ¬½ÓÆ÷Éú³ÉTÀàÐ͵ĵ¼³ö·ûºÅ±í£¬ÓÐʱºòÒ²Éú³ÉÈõÁ¬½ÓWÀàÐ͵ĵ¼³ö·ûºÅ£©£¬²»ÓøñêÖ¾Íⲿ³ÌÐòÎÞ·¨Á¬½Ó¡£Ï൱ÓÚÒ»¸ö¿ÉÖ´ÐÐÎļþ
l         -fPIC£º±íʾ±àÒëΪλÖöÀÁ¢µÄ´úÂ룬²»ÓôËÑ¡ÏîµÄ»°±àÒëºóµÄ´úÂëÊÇλÖÃÏà¹ØµÄËùÒÔ¶¯Ì¬ÔØÈëʱÊÇͨ¹ý´úÂ뿽±´µÄ·½Ê½


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì£¨Èý£© HCI²ã±à³Ì

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_ѧϰ±Ê¼Ç_ÈçºÎÕÒµ½ºÍ°²×°Èí¼þ

1.ʹÓÃshellµÄwhichÃüÁ
È磺²éÕÒGUNµÄC±àÒëÆ÷°²×°Â·¾¶
$ which gcc
/usr/bin/gcc
2.Èç¹ûwhichûÓÐÕÒµ½ÒªÕÒµÄÎļþ£¬ÄǾÍÊÔÊÔwhereis£¬¸ÃÃüÁîËÑË÷¸ü´ó·¶Î§µÄϵͳĿ¼£¬ºÍshellËÑË÷·¾¶Î޹ء£
ÓÐЩϵͳwhichÃüÁîÎÞ·¨ÏÔʾÓû§Ã»Ö´ÐеÄȨÏÞÎļþ£º
È磺which ipppd
$ which ipppd
/usr/bin/which:no ipppd in £¨/bin:/ ......

linux shell »ù±¾ÃüÁî

1.²»Ìáʾɾ³ýĿ¼  rm -rf ${dir}
2.rpm ²é¿´²¢Ð¶ÔØÈí¼þ
  rpm -qa | grep ${appname}
  rpm -e ${rpmname}
3.Êýѧ¼ÆËãÖ®bc
  echo "3 + 4 - 5 * 5 - 7 " | bc
 echo "3 + 4 - 5 * 5 - 7 " | bc | read myresult
4.²é¿´½ø³Ì
  ps -ef £ü grep ${tname}
exp: ......

LinuxÓû§ºÍ×é

Ò»¡¢Àí½âLinuxµÄµ¥Óû§¶àÈÎÎñ£¬¶àÓû§¶àÈÎÎñ¸ÅÄ
Linux ÊÇÒ»¸ö¶àÓû§¡¢¶àÈÎÎñµÄ²Ù×÷ϵͳ£»ÎÒÃÇÓ¦¸ÃÁ˽ⵥÓû§¶àÈÎÎñºÍ¶àÓû§¶àÈÎÎñµÄ¸ÅÄ
1¡¢Linux µÄµ¥Óû§¶àÈÎÎñ£»
µ¥Óû§¶àÈÎÎñ£»±ÈÈçÎÒÃÇÒÔbeinan µÇ¼ϵͳ£¬½øÈëϵͳºó£¬ÎÒÒª´ò¿ªgedit À´Ð´Îĵµ£¬µ«ÔÚдÎĵµµÄ¹ý³ÌÖУ¬ÎҸоõÉÙµãÒôÀÖ£¬ËùÒÔÓÖ´ò¿ªxmms
À´µãÒôÀÖ ......

linuxÍøÂç²ÎÊý½âÎö

linuxÍøÂç²ÎÊýÖ÷ҪλÓÚÏÂÃæÁ½¸öĿ¼ÏÂ:/proc/sys/net/core/ºÍ/proc/sys/net/ipv4/, ÏÂÃæ·Ö±ð¶ÔÕâÁ½¸öĿ¼Ï³£ÓõöÍøÂç²ÎÊý×öÏÂ˵Ã÷:
 
1./proc/sys/net/core/
 
$ /proc/sys/net/core/somaxconn
listen()µÄĬÈϲÎÊý,¹ÒÆðÇëÇóµÄ×î´óÊýÁ¿.ĬÈÏÊÇ128.¶Ô·±Ã¦µÄ·þÎñÆ÷,Ôö¼Ó¸ÃÖµÓÐÖúÓÚÍøÂçÐÔÄÜ, ¿É²Î¿¼µÄÓÅ»¯Ö ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ