Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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É豸ģÐÍÖ®input×ÓϵͳÏê½â

Ò»£ºÇ°ÑÔ
×î½üÔÚÑо¿androidµÄsensor driver£¬Ö÷ÒªÊÇE-compass£¬ÆäÖÐÓõ½ÁËLinux input×Óϵͳ.ÔÚÍøÉÏÒ²¿´Á˺ܶàÕâ·½ÃæµÄ×ÊÁÏ£¬¸Ð¾õ»¹ÊÇÕâÆª·ÖÎöµÄ±È½ÏϸÖÂ͸³¹£¬Òò´Ë×ªÔØÒ»ÏÂÒÔ±ã×Ô¼ºÑ§Ï°£¬Í¬Ê±ºÍ´ó¼Ò·ÖÏí£¡
£¨ÕâÆª²©¿ÍÖ÷ÒªÊÇÒÔ¼üÅÌÇý¶¯ÎªÀýµÄ£¬²»¹ý½²½âµÄÊÇLinux Input Subsystem£¬¿ÉÒÔ×ÐϸµÄÑо¿Ò»Ï£¡£©
¼üÅÌÇý¶¯½«¼ì ......

linux_ѧϰ±Ê¼Ç_Ŀ¼½á¹¹

linuxĿ¼¼Ü¹¹
/   ¸ùĿ¼
/bin    ³£ÓõÄÃüÁî binary file µÄÄ¿錄
/boot   ´æ·ÅϵͳÆô¶¯Ê±±ØÐë¶ÁÈ¡µÄµµ°¸£¬°üÀ¨ºËÐÄ (kernel) ÔÚÄÚ
     /boot/grub/menu.lst   GRUBÉèÖÃ
     /boot/vmlinuz   ÄÚºË
   ......

Linuxϲ鿴cpuÀàÐÍ¡¢ÄÚ´æ´óС¡¢Ó²ÅÌ´óСÀàÐ͵È

http://blog.tianya.cn/blogger/post_show.asp?BlogID=2243487&PostID=21072119&idWriter=0&Key=0
Linuxϲ鿴cpuÀàÐÍ¡¢ÄÚ´æ´óС¡¢Ó²ÅÌ´óСÀàÐ͵Ƞ
CPU²é¿´£º
1¡¢¡¡¡¡# dmesg | grep CPU
¡¡¡¡Initializing CPU#0
¡¡¡¡CPU: Trace cache: 12K uops
¡¡¡¡CPU: L1 I-cache: 0K, L1 D-cache: 16K
¡¡¡¡CP ......

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ºÅ