通過ipsec start命令啟動
ipsec 實際是乙個可執行指令碼,放在/usr/local/sbin下,他實際呼叫了/usr/local/libexec/ipsec/目錄下的starter。
通過ldd命令可以檢視相關程序的依賴庫資訊。
[
root@flexbng
-dev ipsec
]#ll
total
560
-
rwxr-xr
-x.1
root root
98048
oct1614:
50charon
-
rwxr-xr
-x.1
root root
16741
oct1614:
50
-
rwxr-xr
-x.1
root root
121656
oct1614:
50scepclient
-
rwxr-xr
-x.1
root root
234203
oct1614:
50starter
-
rwxr-xr
-x.1
root root
70709
oct1614:
50stroke
-
rwxr-xr
-x.1
root root
19225
oct1614:
50_updown
[
root@flexbng
-dev ipsec
]#ldd
-r charon
linux
-vdso.so
.1=>
(0x00007ffff65ff000
)
libstrongswan.so
.0=>
/usr
/local
/lib
/ipsec
/libstrongswan.so
.0(0x00007fbfc0cb3000
)
libhydra.so
.0=>
/usr
/local
/lib
/ipsec
/libhydra.so
.0(0x00007fbfc0aac000
)
libcharon.so
.0=>
/usr
/local
/lib
/ipsec
/libcharon.so
.0(0x00007fbfc07f6000
)
libm.so
.6=>
/lib64
/libm.so
.6(0x00007fbfc04e6000
)
libpthread.so
.0=>
/lib64
/libpthread.so
.0(0x00007fbfc02c9000
)
libdl.so
.2=>
/lib64
/libdl.so
.2(0x00007fbfc00c5000
)
libc.so
.6=>
/lib64
/libc.so
.6(0x00007fbfbfd04000
)
libunwind.so
.8=>
/lib64
/libunwind.so
.8(0x00007fbfbfae9000
)
/lib64/ld
-linux
-x86
-64.so.2
(0x00007fbfc0fa6000
)
可以看到,主要的charon程序,依賴與libcharon.so、libstrongswan.so、libhydra.so。這幾個so在/usr/local/lib/ipsec目錄下
再看一下各個lib的依賴關係,可以看到 strongswan是基本的,hydra依賴與strongswan,charon依賴於他們兩個。
程序動態執行時,需要找動態庫,按照/etc/ld.so.conf指明的目錄去載入
動態載入動態庫
message函式的宣告你應該知道吧,把它的宣告和下面的語句寫到乙個標頭檔案中 pragma comment lib,a.lib 然後你的對話方塊.cpp中包含這個標頭檔案就可以使用message函式了。如果dll沒有對應的.lib檔案,那麼就只能使用動態載入的方式了。動態呼叫動態庫步驟 1 建立乙...
動態載入庫
使用vc程式設計時遇到乙個奇怪的情況,包含了,但是編譯器編譯結果告知無法找到hmonitor結構,從vc上 能看到hmonitor結構宣告在windef.h裡,但是包含了還是不行,最後乙個同事告知包含multimon.h即可。好,切入正題。結構找到了,不過很多函式沒有找到,在網上也沒找到好方法。最後...
動態庫的載入與測試
之前寫了個程式,使用了第三方庫lzma 裝了xz命令 make install 程式寫好以後,編譯沒有問題,但是執行時卻報了如下的錯誤 searcher error while loading sharedlibraries liblzma.so.5 cannot open shared objec...