gcc -ldl

http://hi.baidu.com/suinking/item/9275f705e9ab5068d45a1195

gcc -O -o tds tds.c -ldl

-ldl选项,表示生成的对象模块需要使用共享库
(1)dlopen()
第一个参数:指定共享库的名称,将会在下面位置查找指定的共享库.
-环境变量LD_LIBRARY_PATH列出的用分号间隔的所有目录.
-文件/etc/ld.so.cache中找到的库的列表,用ldconfig维护.
-目录usr/lib.
-目录/lib.
-当前目录.

第二个参数:指定如何打开共享库。
-RTLD_NOW:将共享库中的所有函数加载到内存
-RTLD_LAZY:会推后共享库中的函数的加载操作,直到调用dlsym()时方加载某函数

(2)dlsym()
调用dlsym时,利用dlopen()返回的共享库的phandle以及函数名称作为参数,返回要加载函数的入口地址。

(3)dlerror()
该函数用于检查调用共享库的相关函数出现的错误。

(4)dlclose() 
该函数用于关闭动态库。


你可能感兴趣的:(linux,Makefile)