Linux shared library Loading function
Link from: http://www.faqs.org/docs/Linux-mini/C++-dlopen.html
//1. == main.cpp =============================================
// How to build?
// g++ -o main main.cpp -ldl
//=======================================================
#include <iostream>
#include <dlfcn.h>
int main() {
using std::cout;
using std::cerr;
cout << "C++ dlopen demo\n\n";
// open the library
cout << "Opening hello.so...\n";
void* handle = dlopen("./hello.so", RTLD_LAZY);
if (!handle) {
cerr << "Cannot open library: " << dlerror() << '\n';
return 1;
}
// load the symbol
cout << "Loading symbol hello...\n";
typedef void (*hello_t)();
hello_t hello = (hello_t) dlsym(handle, "hello");
if (!hello) {
cerr << "Cannot load symbol 'hello': " << dlerror() <<
'\n';
dlclose(handle);
return 1;
}
// use it to do the calculation
cout << "Calling hello...\n";
hello();
// close the library
cout << "Closing library...\n";
dlclose(handle);
}
// 2=====hello.cpp ========================================
// How to build?
// g++ -c -fPIC hello.cpp
// g++ -shared -o hello.so
-fPIC hello.o
//======================================================
#include <
Ïà¹ØÎĵµ£º
ÏëÒªÔÚÐéÄâ»úϵÄlinuxÓëwindows»¥Áª£¬×î¹Ø¼üµÄÖ»ÐèÒª3²½£º
1.Ò»¶¨ÒªÉèÖÃÐéÄâ»úµÄÍø¿¨ÎªÇŽÓģʽ£¬ÕÒ¸öÒ»¶¨²»ÄÜÍü¡£
2.ÉèÖÃlinuxϵÄipµØÖ·£¬ vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0 #ÍøÂçÃû³Æ
BOOTPROTO=static #¾²Ì¬»ñÈ¡ipµØÖ·
IPADD ......
ʲôÊÇÐéÄâÖ÷»ú
ÐéÄâÖ÷»úÓÃÓÚÔÚÎïÀíµÄһ̨Ö÷»úÉÏÔËÐжà¸öÕ¾µã£¬Æ©È磺www.example1.com¡¢www.example2.com£¬Ò²¿ÉÒÔÊÇÕâÑùµÄ£ºwww.example.com¡¢blog.example.com¡£
ÐéÄâÖ÷»úÓÐÁ½ÖÖÀàÐÍ£ºIP-based ºÍname-based£¬Ç°ÕßÓÃÓÚͬһ̨Ö÷»úÉϵĶà¸öÕ¾µã¾ßÓв»Í¬µÄIP µØÖ·£¬ºóÕßÓÃÓÚͬһ̨Ö÷»úÉϵĶà¸öÕ¾µãʹÓÃͬһ¸öIP µØÖ ......
àÅ£¬ÕâÊÇºÍÆ½Í¬Ñ§µÄµãÌâ×÷ÎÄÁË£¬ºÇºÇ£¬Ëû·ÇÒªÁ˽âÎÒÊÇÔõô¿ª·¢Linux³ÌÐòµÄ£¬Ö÷ÒªÊÇÕâ¸ö¹¤×÷»·¾³ÊÇÈçºÎµÄ£¿
ÔʼÎÊÌâÈçÏ£º
ÎÊ£º
ÀÏʦ£¬¿ÉÒÔдһƪÎÄÕ½éÉÜÒ»ÏÂÈçºÎʹÓÃvim´î½¨ºÃÓõÄlinux¿ª·¢»·¾³Â𣿣¨±ÈÈçvimÈçºÎÉèÖÿì½Ý¼ü¿ÉÒÔ×öµ½Ò»¼ü±àÒëºÍÔËÐУ¬³£ÓõIJå¼þÈçºÎ°²×°µÈ£©
´ð£º
ÎÒ²»»áÓÃvim£¬Ò²´Ó²»Óá£
ÎÊ£º
ÌýË ......
Ê×ÏÈÏÈѧѧ±à¼Æ÷£¬vim, emacsʲôµÄ¶¼ÐС£
È»ºóѧmake fileÎļþ£¬Ö»ÒªÖªµÀÒ»µã¾ÍÐУ¬ÕâÑù¾Í¿ÉÒÔ×¼±¸±à³ÌÐòÁË¡£
È»ºó¿´¿´¡¶C³ÌÐòÉè¼ÆÓïÑÔ¡·K&R£¬ÕâÑùÄØ£¬»ù±¾ÉϾͿÉÒÔ½øÐÐÒ»°ãµÄ±à³ÌÁË£¬Ë³±ãÕÒ±¾Êý¾Ý½á¹¹µÄÊéÀ´¿´¡£
Èç¹ûÏëѧϰUNIX/LINUXµÄ±à³Ì£¬¡¶APUE¡·¾ø¶Ô¾µäµÄ½Ì²Ä£¬¼ÓÉîһϹ¦µ×£¬Ñ§Ï°¡¶UNP¡·µÄµÚ¶þ¾í¡£ÕâÑù»ù ......
CentOS Èç¹ûÄãϲ»¶RHµÄ²úÆ·£¬¶øÄãÓÖÌÖÑáFC4µÄÓ·Ö×£¬ÄÇô³¢ÊÔÒ»ÏÂCentOS°É£¬µ±Äã´ò¿ªÕâ¸ö·¢ÐаæµÄʱºò£¬ÏàÐÅÄã»á´ó½ÐÒ»Éù£º"Õâ²»¾ÍÊÇRedhatô"£¬Êǵģ¬Õâ¸ö°æ±¾ÍêȫʹÓÃRHµÄsrpmÉú³Éϵͳ£¬¶øÇÒÐÔÄÜÒ²ºÜ²»´í¡£
Debian Õâ¸ö·¢Ðа汾ÔÚËùÓз¢Ðа汾ÀïÃæ¿°³Æ×îÑϽ÷µÄ£¬aptÈí¼þ°ü¹ÜÀí»úÖÆ¿ÉÒÔÈÃÓû§¿ìËÙ½¨Á¢ÆðÀ´¸ßЧµÄ²Ù×÷ϵͳ¡£ ......