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 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$