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

linuxϵľ²Ì¬¿âºÍ¶¯Ì¬¿âµÄ±àÒë

ÿ¸ö³ÌÐòʵÖÊÉ϶¼»áÁ´½Óµ½Ò»¸ö»òÕß¶à¸öµÄ¿â¡£±ÈÈçʹÓÃCº¯ÊýµÄ³ÌÐò»áÁ´½Óµ½CÔËÐÐʱ¿â£¬GUI³ÌÐò»áÁ´½Óµ½´°¿Ú¿âµÈµÈ¡£ÎÞÂÛÄÄÖÖÇé¿ö£¬Äã¶¼»áÒª¾ö¶¨ÊÇÁ´½Óµ½¾²Ì¬¿â(static libary)»¹ÊǶ¯Ì¬¿â(dynamic libary)¡£
Á´½Óµ½¾²Ì¬¿â»áʹÄãµÄ³ÌÐòÓ·Ö×£¬²¢ÇÒÄÑÒÔÉý¼¶£¬µ«ÊÇ¿ÉÄÜ»á±È½ÏÈÝÒײ¿Êð¡£
¶øÁ´½Óµ½¶¯Ì¬¿â»áʹÄãµÄ³ÌÐòÇá±ã£¬²¢ÇÒÒ×ÓÚÉý¼¶£¬µ«ÊÇ»áÄÑÒÔ²¿Êð¡£
¾²Ì¬¿â
¾²Ì¬¿âÒ²¾ÍÏ൱ÓÚÊǰÑһϵÁеÄobjectÎļþ·ÅÔÚͬһ¸öÎļþÖУ¨ÀàËÆwindowsÖеÄ.libÎļþ£©¡£µ±ÄãÌṩһ¸ö¾²Ì¬¿â¸øÁ´½ÓÆ÷ʱ£¬Á¬½ÓÆ÷½«»áËÑË÷¾²Ì¬¿â£¬´ÓÖÐÕÒµ½ËûËùÐèÒªµÄobjectÎļþ£¬ÌáÈ¡³öËûÃÇ£¬½«ËûÃÇÁ´½Óµ½ÄãµÄ³ÌÐòÖУ¬¾ÍÏñÄãÖ±½ÓÌṩÄÇЩÎļþÒ»Ñù¡£
ÈçºÎ´´½¨¾²Ì¬¿âÄØ£¿Äã¿ÉÒÔʹÓÃarÃüÁîÀ´´´½¨¡£
ÏÂÃæÎÒÃǾٸöÀý×Ó£º
test/lib/test1.c
#include <stdio.h>
int hello_world1()
{
    printf("hello world1\n");
    return 1;
}
test/lib/test2.c
#include <stdio.h>
void hello_world2()
{
    printf(" hello world2\n");
}
test/app.c
#include <stdio.h>
int main()
{
    hello_world1();
}
ÏÖÔÚÎÒÃDZàÒëËûÃǽøÈëĿ¼test/lib
$gcc -c test1.c
$gcc -c test2.c
$ls
test1.c  test1.o  test2.c  test2.o
$ar cr libtest.a test1.o test2.o
$ls
libtest.a  test1.c  test1.o  test2.c  test2.o
cr±êÖ¾¸æËßar½«objectÎļþ·â×°(archive),ÎÒÃÇ¿ÉÒÔʹÓÃnm -s ÃüÁîÀ´²é¿´.aÎļþµÄÄÚÈÝ
$nm -s libtest.a
Archive index:
hello_world1 in test1.o
hello_world2 in test2.o
test1.o:
00000000 T hello_world1
         U puts
test2.o:
00000000 T hello_world2
         U puts
ÏÖÔÚÈÃÎÒÃDZàÒëÖ÷³ÌÐò
Ê×ÏÈÍ˳ölibĿ¼
$cd ..
$gcc -o app app.c -Llib -ltest
-LÖ¸¶¨ÁËlibµÄËÑË÷·¾¶£¬-lÖ¸¶¨ÁËÁ´½ÓµÄ¿âµÄÃû×Ö-ltestÒ²¾ÍÊÇÁ´½Ólibtest.a
$./app
hello world1
hello_world1£¨£©±»´Ólibtest.aÖÐÕÒµ½²¢Á´½Ó¹ýÀ´ÁË£¬ÓÚÊÇÕû¸öµÄ¹ý³ÌÖÐûÓгöÏÖÎÊÌâ¡£
¶¯Ì¬¿â
¶¯Ì¬¿â(static lib)Ò²¿ÉÒ»Ò²¿ÉÒÔ³ÉΪ¹²Ïí¿â(shared lib),Ò»°ãµÄºó׺ÃûÊÇ.so¡£¶¯Ì¬¿âÓ뾲̬¿âÓеãÀàËÆ£¬ËûÃǶ¼ÊÇһϵÁеÄobjectÎļþµÄ¼¯ºÏ£¬Ö»ÊÇËûÃǵÄ×éÖ¯·½Ê½²»Í¬¡£Í¬ÑùËûÃǵÄÁ´½Ó·½Ê½Ò²Ê


Ïà¹ØÎĵµ£º

Make Linux Resources


 
  Resources on the site
• Interactive map of GNU/Linux OS and FOSS
• "GNU/Linux is my home" - map of GNU/Linux system
• Interactive map of Linux kernel
• Linux inside
• Linux Technology Reference (single page view)
• Linux kernel diagram
• Li ......

Mr. ProcessµÄÒ»Éú£­LinuxÄں˵ÄÉç»áÊÓ½Ç (1)µ÷¶È

Written by manio (http://blog.csdn.net/manio)
LinuxÄÚºËÊÇÒ»¸öÎޱȸ´ÔÓµÄϵͳ£¬ÒªÏë¿´Çå´óÖµÄÂöÂçÒ²·ÇÒ×Ê¡£Æäʵ£¬¿ÉÒÔ°ÑÔËÐÐÖеÄLinuxÏëÏñ³ÉÒ»¸öÈËÀàµÄÉç»á£¬µ±ÖеĽø³Ì¾ÍÊÇÉç»áÖеÄÈË¡£ÈËÓÐÉúÀϲ¡ËÀ£¬½ø³ÌÓд´½¨¡¢Òì³£¡¢ÖÕÖ¹¡£ÈËÓи÷ÖÖ¸÷ÑùµÄ²Æ²ú£¬½ø³ÌÓжÔÓ¦µÄµØÖ·¿Õ¼ä¡¢É豸µÈµÈ¡£È˱»¸÷ÖÖ¸÷ÑùµÄ¶«Î÷ÏÞÖÆ×Å£¬±»È˹ ......

ÎÒÔÚlinuxϳ£ÓõÄÈí¼þ

1.  ÊäÈë·¨£ºIbus¡£·Ç³£ºÃÓ㬿ÉÒÔ¼ÇÒä´ÊÓïµÄʹÓÃÆµÂÊ£¬Ò²ÄÜÖÇÄÜÆ´Òô£¬¿ÉÒÔ°²×°¶àÖÖÊäÈë·¨£¬ÄÚǶ¡£
2.  ä¯ÀÀÆ÷£ºfirefox¡£
3.  Îļþ²îÒì±È½ÏÆ÷£º meld diff viewer¡£
4.  office:  Ê×µ±Æä³åµÄopen office£¡£¡
5.  ÉãÏñÍ·£º cheese webcam booth¡£ÅÄÕÕ»¹ÓÐģʽѡÔñ¡£
6. Îļþͬ²½£ºGrsyn ......

linuxÏÂi386,i486,i586,i686µÄÇø±ð

linuxϲ鿴gcc°æ±¾
gcc -v
Êä³ö½á¹ûÖÐ
Target: i486-linux-gnu
i486Ó¦¸ÃÊÇÐéÄâ»úµÄÎÊÌ⣬ÏÖÔÚÖ÷Á÷cpuÓ¦¸Ã¾ùΪi686.
i386,i486,i586·Ö±ðÊÇÕë¶Ô80386,80486,80586±àÒëµÄ°ü£¬i686¾Í±È½Ï¹ã·ºÁË£¬´Óp2¿ªÊ¼x86´¦ÀíÆ÷¾Í½øÈëÁËp6¹¹¼ÜµÄʱ´ú£¬Ò»Ö±µ½ÏÖÔÚ¶¼ÊÇp6¼Ü¹¹¡£Ð¼ܹ¹µÄcpuÏòϼæÈÝΪ¾É¼Ü¹¹±àÒëµÄÈí¼þ°ü.
i386.rpmÓëi686 ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ