ÔÚLinuxÏÂÈçºÎʹÓÃ×Ô¼ºµÄ¿âº¯Êý
Ò»
ʹÓÃ¿â±ØÒªÐÔ
Ìá¸ß´úÂëÖØÓÃÐÔ¡£
¶þ
¿âµÄÖÖÀࣺ
1
¾²Ì¬¿â
Ò»°ãÒÔ
*.a
ÃüÃû¡£
³ÌÐò±àÒëʱ±»¼ÓÔØ£¬´Ëºó£¬Ö»Òª³ÌÐò²»±»ÖØÐ±àÒ룬¾²Ì¬¿â¾ÍûÓÐ×÷ÓÃÁË£¨¿ÉÒÔɾµô£©¡£
ÓÉ
ÓÚ¾²Ì¬¿âµÄ´úÂëÔÚ±àÒë¹ý³ÌÖÐÒѾ±»ÔØÈë¿ÉÖ´ÐгÌÐò£¬Òò´ËÌå»ý½Ï´ó£¬Èç¹ûÓжà¸öÓ¦ÓóÌÐò¶¼ÓÃÁËͬһ¸ö¾²Ì¬¿â£¬ÔÚ´æ·Å¿ÉÖ´ÐгÌÐòµÄÓ²ÅÌÖоͻáÓÐÕâ¸ö¾²Ì¬¿âµÄ¶à
·Ý¿½±´¡£Èç¹ûËûÃÇͬʱÔÚÔËÐУ¬ÄÇôÔÚÄÚ´æÖÐÒ²»áÓÐÕâ¸ö¾²Ì¬¿âµÄ¶à·Ý¿½±´¡£µ«ÊÇÈçÏÂÃæÌáµ½µÄ¶¯Ì¬¿âÏà±È½Ï£¬³ÌÐòÖ´ÐÐʱ¼ä±È½Ï¶Ì£¬ÒòΪûÓÐÖ´ÐÐʱ¿âº¯ÊýµÄ¼Ó
ÔØ¡£Ëùν“ÒԿռ任ʱ¼ä”¡£
ÏÂÃæÎÒÃÇÓÃÒ»¸öʵÀý˵Ã÷¾²Ì¬¿âµÄ±à³ÌºÍʹÓá£
//
¿âº¯Êý£º
hellowlib.c
#include <stdlib.h>
void printhellow()
{
printf("hellow,now in lib routine\n");
return ;
}
Ê×ÏÈÉú³ÉÄ¿±êÎļþ£º
gcc -c
printhellow.c
–o printhellow.o
È»ºóʹÓÃ
ar
£¨
archive
£©ÃüÁî°ÑÄ¿±êÎļþÖÆ×÷¿âÎļþ£º
ar cqs libhello.a printhellow.o
×¢Òâ¿âÎļþÃûÒ»¶¨ÊÇ
lib***.a
¸ñʽ£¬²»ÒªÍüÁ˼Ó
lib
×÷Ϊǰ׺¡£
ÏÂÃæÎÒÃÇдһ¸ö³ÌÐòµ÷Óþ²Ì¬¿â
libhello.a
ÖеÄ
printhellow
º¯Êý¡£
//testlib.c
int main(int arc, char **argv)
{
printhellow();
return ;
}
ÏÂÃæ±àÒ룺
gcc -o testlib testlib.c -L ./
-lhello
¼´¿ÉÉú³É¿ÉÖ´ÐÐÎļþ
testlib
¡£
×¢ÒâÉÏÃæµÄ
-L
£¨´óд£©Ö¸Ê¾¿âµÄ·¾¶ÔÚµ±Ç°Ä¿Â¼Ï¡£Èç¹ûûÓÐÕâ¸öÑ¡Ï¾ÍÐèÒª°Ñ¿â
libhello.a
¼ÓÈëµ½±ê׼·¾¶ÖС£Èç
/usr/lib
ÖС£
-l
£¨Ð¡Ð´£©Ö»ÐèÒª¸ú
hello
£¬ÆäËû×Ö·ûÈ«²¿²»Òª£¬·ñÔò³ö´í¡£
2
¶¯Ì¬¿â£¨¹²Ïí¿â£©
Ò»°ãÒÔ
.so
ÃüÃû£¨
share object
£©
Ó뾲̬¿â²»Í¬£¬¹²Ïí¿âµÄ´úÂëÊÇÔÚ¿ÉÖ´ÐгÌÐòÔËÐÐʱ²ÅÔØÈëÄÚ´æµÄ£¬ÔÚ±àÒë¹ý³ÌÖнö¼òµ¥µÄÒýÓã¬Òò´Ë´úÂëÌå»ý½ÏС¡£ÓëÉÏÃæÌáµ½µÄ¾²Ì¬¿âÏà±È£¬ºÜÊǽÚÔ¼¿Õ¼ä¡£µ«ÔËÐÐʱÐèÒªÔØÈ룬Òò´ËÔËÐÐʱ¼äÏà¶Ô¾²Ì¬¿â¶øÑԱȽϳ¤¡£Ëùν“ÒÔʱ
Ïà¹ØÎĵµ£º
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
A:link { so-language: zxx }
-->
Ëùν“Ôıø”¾ÍÊǼìÔIJ¿¶ÓµÄÒâ˼¡£
Linux
´ó¾ü£¨·¢Ðа棩¿Éν“É¢±øÓÎÓ”£¬Ì¸ºÎ´óÔıø£¿´ËÑÔ²îÒÓ¡£
......
ºÜ¾ÃûÓÐд¼¼Êõ²©ÎÄÁË£¬´ÓÕâÀ↑ʼÎÒµÄÑо¿ÉúÉúÑÄ£¬×ªÑÛ¾ÍÒªÔÚÖ°³¡ÉÏÑø¼Òºý¿Ú£¬Éú»îÕæµÄ²»ÈÝÒ×£¬ÐҺû¹Óм¼ÊõÏà°éΪÎé¡£
ÓÉÓÚ¹¤×÷µÄ¹ØÏµ£¬ÖÕÓÚ½Ó´¥µ½linuxÍøÂçºÍkernelµÄ±à³Ì£¬×ÜÌåÀ´Ëµ×ÜÊÇÒ»¸öºÃµÄÆõ»ú¡£ÈÃÎÒÄܹ»ÉîÈë²Ù×÷ϵͳÄںˡ£×ö¹ýÒ»¶Îʱ¼äµÄÓû§³ÌÐòµÄ¿ª·¢£¬×ÜÊÇÔÚWindowsƽ̨ÉÏ£¬ÖÕÓÚÓлú»áÔÚlinuxÉÏ×öµã¶«Î÷£¬»¹Ê ......
ǶÈëʽϵͳÓëͨÓÃPC»ú²»Í¬£¬Ò»°ãûÓÐÓ²ÅÌÕâÑùµÄ´æ´¢É豸¶øÊÇʹÓÃFlashÉÁ´æÐ¾Æ¬¡¢Ð¡ÐÍÉÁ´æ¿¨µÈרΪǶÈëʽϵͳÉè¼ÆµÄ´æ´¢×°Ö㬱¾ÎÄ·ÖÎöÁËǶÈëʽϵͳÖг£ÓõĴ洢É豸¼°Æä¹ÜÀí»úÖÆ£¬½éÉÜÁ˳£ÓõĻùÓÚFLASHµÄÎļþϵͳÀàÐÍ¡£
1£®Ç¶Èëʽϵͳ´æ´¢É豸¼°Æä¹ÜÀí»úÖÆ·ÖÎö
¡¡¡¡¹¹½¨ÊÊÓÃÓÚǶÈëʽϵͳµÄLi ......
³É¹¦ÊµÏÖLinuxÏÂpppdͨ¹ýGPRS²¦ºÅÉÏÍø
×ò
Ìì°Ñ¿ª·¢°åµÄbootloaderɾÁË,û°ì·¨,Ö»µÃÔÚPCÉϵ÷GPRS²¦ºÅÁË.ÏÈÔÚwindowsϲ¦ºÅ³É¹¦,È»ºóÓù¤¾ß¿´²¦ºÅʱ¾ßÌåʹÓÃÁËÄÄЩATÃü
Áî,ÔÙʹÓÃÕâЩÃüÁîµ½linuxÏÂʹÓÃpppdÀ´²¦ºÅ,×îºóÖÕÓڳɹ¦ÁË,֮ǰ¿ª·¢°åÉϲ»Äܳɹ¦²¦ºÅ¼«ÓпɾÍÊÇATÖ¸ÁîÓÐÎ ......
1. Íù/libºÍ/usr/libÀïÃæ¼Ó¶«Î÷£¬ÊDz»ÓÃÐÞ¸Ä/etc/ld.so.confµÄ£¬µ«ÊÇÍêÁËÖ®ºóÒªµ÷Ò»ÏÂldconfig£¬²»È»Õâ¸ölibrary»áÕÒ²»µ½
2. ÏëÍùÉÏÃæÁ½¸öĿ¼ÒÔÍâ¼Ó¶«Î÷µÄʱºò£¬Ò»¶¨ÒªÐÞ¸Ä/etc/ld.so.conf£¬È»ºóÔÙµ÷ÓÃldconfig£¬²»È»Ò²»áÕÒ²»µ½
±ÈÈç°²×°ÁËÒ»¸ömysqlµ½/usr/local/mysql£¬mysqlÓÐÒ»´ó¶ÑlibraryÔÚ/usr/local/mysql/libÏÂÃæ ......