【Linux技术】linux库文件编写·入门



IsValidUser(* username, IsValidUser(* username, IsValid =   


#inlcude <stdio.h>


 -~/Desktop/code/lib_test$ 

 -~/Desktop/code/lib_test$ ~/Desktop/code/lib_test$ 


#include main( argc,*

  -I `` -o main.o -~/Desktop/code/lib_test$ ~/Desktop/code/lib_test$ 

 -o main -L `` main.o -~/Desktop/code/lib_test$ ~/Desktop/code/lib_test$ 

!~/Desktop/code/lib_test$ 



生成步骤为

使用方式分为两种: 隐式调用和显示调用

~/Desktop/code/lib_test$ ~/Desktop/code/lib_test$ ~/Desktop/code/lib_test$ 

 -fpic -shared -~/Desktop/code/lib_test$ ~/Desktop/code/lib_test$ 


 -I `` -o main.o -~/Desktop/code/lib_test$ ~/Desktop/code/lib_test$ 

 -o main -L `` main.o -~/Desktop/code/lib_test$ ~/Desktop/code/lib_test$ 

/main: error  loading shared libraries: libtest.so: cannot open shared  : No such ~/Desktop/code/lib_test$ 


 libtest.so / -s ``/libtest.so /

 >> /etc/

`

无论哪种办法,其实质都是用ldconfig命令把动态库文件所在路径加入到系统库列表中,(前两种永久,第三种临时)


用户需要自己去打开和管理库文件。其要点为:

dllope的的第一个参数为共享库的名称,将会在下面位置查找指定的共享库。

#include<dlfcn.h> #include main( argc,* (* *pdlHandle = dlopen( (pdlHandle == printf( - * pszErr = (pszErr != printf( - pTest = dlsym(pdlHandle, pszErr = (pszErr != printf( - (* }

 -o main main.c -~/Desktop/code/lib_test$ ~/Desktop/code/lib_test$ 

 

相关内容