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

linux ¶¯Ì¬¼ÓÔØ ¶¯Ì¬Á´½Ó¿â

¶¯Ì¬¿âµÄÏÔʽµ÷ÓÃ
ÏÔʽµ÷Óõĺ¬ÒåÊÇ´úÂë³öÏÖ¿âÎļþÃû£¬Óû§ÐèÒª×Ô¼ºÈ¥
´ò¿ªºÍ¹ÜÀí¿âÎļþ¡£ÆäÒªµãΪ:
¢Å°Ñdlfcn.hϵͳͷÎļþ°üº¬½øÀ´
¢ÆÓÃdlopenº¯Êý´ò¿ª¿âÎļþ£¬²¢Ö¸¶¨´ò¿ª·½Ê½
dllopeµÄµÄµÚÒ»¸ö²ÎÊýΪ¹²Ïí¿âµÄÃû³Æ£¬½«»áÔÚÏÂÃæÎ»ÖòéÕÒÖ¸¶¨µÄ¹²Ïí¿â¡£
   ¢Ù»·¾³±äÁ¿LD_LIBRARY_PATHÁгöµÄÓ÷ֺżä¸ôµÄËùÓÐĿ¼¡£
   ¢ÚÎļþ/etc/ld.so.cacheÖÐÕÒµ½µÄ¿âµÄÁÐ±í£¬ÓÉldconfigÃüÁîˢС£
   ¢ÛĿ¼usr/lib¡£
   ¢ÜĿ¼/lib¡£
   ¢Ýµ±Ç°Ä¿Â¼¡£
µÚ¶þ¸ö²ÎÊýΪ´ò¿ª¹²Ïí¿âµÄ·½Ê½¡£ÓÐÁ½¸öȡֵ
   ¢ÙRTLD_NOW£º½«¹²Ïí¿âÖеÄËùÓк¯Êý¼ÓÔØµ½ÄÚ´æ
   ¢ÚRTLD_LAZY£º»áÍÆºó¹²Ïí¿âÖеĺ¯ÊýµÄ¼ÓÔØ²Ù×÷£¬Ö±µ½µ÷ÓÃdlsym()ʱ·½¼ÓÔØÄ³º¯Êý
¢ÇÓÃdlerror()º¯Êý²âÊÔÊÇ·ñ´ò¿ª³É¹¦£¬²¢½øÐдíÎó´¦Àí;
¢ÈÓÃdlsym»ñµÃº¯ÊýµØÖ·,´æ·ÅÔÚÒ»¸öº¯ÊýÖ¸ÕëÖÐ
¢ÉÓûñµÃµÄº¯ÊýÖ¸Õë½øÐк¯Êýµ÷Óá£
¢Ê³ÌÐò½áÊøÊ±ÓÃdlclose¹Ø±Õ´ò¿ªµÄ¶¯Ì¬¿â£¬·ÀÖ¹×ÊԴй¶¡£
¢ËÓÃldconfig¹¤¾ß°Ñ¶¯Ì¬¿âµÄ·¾¶¼Óµ½ÏµÍ³¿âÁбíÖÐ
1¡¢±àд²âÊÔÎļþ
//main.c ²âÊÔ¶¯Ì¬¿âÏÔʽµ÷ÓõijÌÐò
#include<dlfcn.h>      //ÓÃÓÚ¶¯Ì¬¿â¹ÜÀíµÄϵͳͷÎļþ  
#include "myalib.h"    //Òª°Ñº¯ÊýµÄÍ·Îļþ°üº¬½øÀ´£¬·ñÔò±àÒëʱ»á±¨´í
int main(int argc,char* argv[])
{
   //ÉùÃ÷¶ÔÓ¦µÄº¯ÊýµÄº¯ÊýÖ¸Õë
   void (*pTest)();        
   //¼ÓÔØ¶¯Ì¬¿â
   void *pdlHandle = dlopen("libtest.so", RTLD_LAZY);
   //´íÎó´¦Àí
        if(pdlHandle == NULL )    {
        printf("Failed load library\n");
        return -1;
    }
    char* pszErr = dlerror();
    if(pszErr != NULL)
    {
        printf("%s\n", pszErr);
        return -1;
  &nbs


Ïà¹ØÎĵµ£º

linuxÏÂÒ»¿î²»´íµÄ±³µ¥´ÊÈí¼þ£¨reciteword£©

×î½üÔÚ×¼±¸gre¿¼ÊÔ£¬ÓÚÊÇÕÒÁËÕÒlinuxϵı³µ¥´ÊÈí¼þ£¬¾ÍÊÇÕâ¸öexciteword£¬ºÃÏñÊǸúÇáÇáËÉËɱ³µ¥´Ê²î²»¶à£¬Í¦ºÃÓõġ£
°²×°·½·¨£º
ubuntuÏÂ×î¼òµ¥µÄ·½·¨¾ÍÊÇapt-get installÁË¡£
»¹¿ÉÒÔ´Ó¹ÙÍøÉÏÏÂÔØrpm°ü£¬Ê¹ÓÃalienתΪdeb°ü¡£alien¹¤¾ßûÓеϰ¿ÉÒÔʹÓÃapt-get install alienÀ´ÏÂÔØ¡£×ª»¯Îªdeb°üºó£¬Ë«»÷×Ô¶¯°²×°¾Í¿ÉÒ ......

ת£ºLinux shell½Å±¾È«ÃæÑ§Ï°


1. Linux ½Å±¾±àд»ù´¡
1.1 Óï·¨»ù±¾½éÉÜ
1.1.1 ¿ªÍ·
³ÌÐò±ØÐëÒÔÏÂÃæµÄÐпªÊ¼£¨±ØÐë·½ÔÚÎļþµÄµÚÒ»ÐУ©£º
#!/bin/sh
¡¡¡¡·ûºÅ#!ÓÃÀ´¸æËßϵͳËüºóÃæµÄ²ÎÊýÊÇÓÃÀ´Ö´ÐиÃÎļþµÄ³ÌÐò¡£ÔÚÕâ ¸öÀý×ÓÖÐÎÒÃÇʹÓÃ/bin/shÀ´Ö´ÐгÌÐò¡£
¡¡¡¡µ±±à¼­ºÃ½Å±¾Ê±£¬Èç¹ûÒªÖ´Ðиýű¾£¬»¹±ØÐëʹÆä¿ÉÖ´ÐС£
¡¡¡¡ÒªÊ¹½Å±¾¿ÉÖ´ÐУº
±àÒ ......

ʹÓà GDB µ÷ÊÔ Linux Èí¼þ

×÷Õߣºdio
email: hao@peng.com.cn
ÈÕÆÚ£º8/21/2001 1:00:47 PM
ÄÚÈÝ£º
±àÒë
ÔËÐÐ gdb
µ÷ÊԻỰʾÀý
ʹÓöϵã
¸ü¶à¶ÏµãºÍ¹Û²ìµã
Core Îļþ
¶ÑÕ»¸ú×Ù
Á¬½Óµ½ÆäËü½ø³Ì
ÆäËüС¼¼ÇÉ
½áÊøÓï
²Î¿¼×ÊÁÏ
¹ØÓÚ×÷Õß
GNU µ÷ÊÔÆ÷¼ò½é
×÷Õß:David Seager
Linux µÄ´ó²¿·ÖÌØÉ«Ô´×ÔÓÚ shell µÄ GNU µ÷ÊÔÆ÷ ......

Linux±à³Ì:getopt_long¼°ÆäʹÓÃ

LinuxϵͳÏ£¬ÐèÒª´óÁ¿µÄÃüÁîÐÐÑ¡ÏÈç¹û×Ô¼ºÊÖ¶¯½âÎöËûÃǵĻ°ÊµÔÚÊÇÓÐÎ¥Èí¼þ¸´ÓõÄ˼Ï룬²»¹ý»¹ºÃ£¬GNU C libraryÁô¸øÎÒÃÇÒ»¸ö½âÎöÃüÁîÐеĽӿÚ(X/Open¹æ·¶)£¬ºÃºÃʹÓÃËü¿ÉÒÔʹÄãµÄ³ÌÐò¸Ä¹Û²»ÉÙ¡£
ʹÓÃgetopt_long()ÐèÒªÒýÈëÍ·Îļþ
#include <getopt.h>
     ÏÖÔÚÎÒÃÇʹÓÃÒ»¸öÀý×ÓÀ´ËµÃ÷Ëü ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ