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
Ïà¹ØÎĵµ£º
¼¶±ð£º Öм¶
Éê Òã (shenyyi@cn.ibm.com), Èí¼þ¹¤³Ìʦ, IBM ÖйúÈí¼þ¿ª·¢ÖÐÐÄ
2008 Äê 5 ÔÂ 29 ÈÕ
ÏëÈýø³ÌÔÚ¶Ï¿ªÁ¬½ÓºóÒÀÈ»±£³ÖÔËÐУ¿Èç¹û¸Ã½ø³ÌÒѾ¿ªÊ¼ÔËÐÐÁ˸ÃÈçºÎ²¹¾È£¿ Èç¹ûÓдóÁ¿ÕâÀàÐèÇóÈçºÎ¼ò»¯²Ù×÷£¿
ÎÒÃǾ³£»áÅöµ½ÕâÑùµÄÎÊÌ⣬Óà telnet/ssh µÇ¼ÁËÔ¶³ÌµÄ Linux ·þÎñÆ÷£¬ÔËÐÐÁËһЩºÄʱ½Ï³¤µÄÈÎÎñ£¬ ½á¹ûÈ´ ......
LinuxÇý¶¯Ñ§Ï°¼Ç¼ devfs_mk_cdev
< type="text/javascript">
2.4ÄÚºË×¢²áÇý¶¯ÒªÓãº
int register_chrdev (unsigned int major, const char *name, struct file_operations *fops);
2.4ÄÚºË×¢ÏúÇý¶¯ÒªÓãº
int unregister_chrdev( unsigned int ......
Linux ÏÂSVNµÄʹÓÃ
Ò»¡¢install
sudo aptitude install subversion
¶þ¡¢checkout
sudo svn --username fpzeng co https://********/
***
It's necessary to replace my username fpzeng with yours.
Èý¡¢update
sudo svn update
¾ßÌåÓõ½±ðµÄÔÙ˵£¬½ñÌì¸Õ×°ÉÏ ......
DHCPÊÇDynamic Host Configuration ProtocolµÄÓ¢ÎÄËõд£¬·Òë¹ýÀ´¾ÍÊǶ¯Ì¬Ö÷»úÅäÖÃͨѶÐÒé¡£ËüµÄ¹¦ÄܾÍÊÇÎªÍøÂçÁ¬½Ó¶¯Ì¬·ÖÅäIPµØÖ·£¬ËüÔÊÐí¿Í»§¶Ë¼ÆËã»úÏòÍøÂç·þÎñÆ÷×Ô¶¯»ñÈ¡ÍøÂçÉèÖá£DHCP·þÎñÆ÷ʹµÃÍøÂç¹ÜÀíÔ±ÔÚ¹ÜÀíÍøÂçÖÐÔÚÍøÂçÖÐÔö¼Ó¡¢É¾³ýÍøÂç½Úµã»òÕßÖØÐÂÅäÖÃÍøÂçʱ£¬¹¤×÷±äµÃ·Ç³£¼òµ¥£¬ÎÞÐëÊÖ¹¤µÄ·ÖÅäIPµØÖ ......
Ëæ×ÅLinuxÓ¦ÓõÄÀ©Õ¹Ðí¶àÅóÓÑ¿ªÊ¼½Ó´¥Linux£¬¸ù¾ÝѧϰWindwosµÄ¾ÑéÍùÍùÓÐһЩãȻµÄ¸Ð¾õ£º²»Öª´ÓºÎ´¦¿ªÊ¼Ñ§Æð¡£ÕâÀï½éÉÜѧϰLinuxµÄһЩ½¨Òé¡£
Ò»¡¢´Ó»ù´¡¿ªÊ¼£º ³£³£ÓÐЩÅóÓÑÔÚLinuxÂÛ̳ÎÊһЩÎÊÌ⣬²»¹ý£¬ÆäÖдó¶àÊýµÄÎÊÌâ¶¼ÊǺܻù´¡µÄ¡£ÀýÈ磺ΪʲôÎÒʹÓÃÒ»¸öÃüÁîµÄʱºò£¬ÏµÍ³¸æËßÎÒÕÒ²»µ½¸ÃĿ¼£¬ÎÒÒªÈçºÎÏÞÖÆÊ¹Ó ......