|
藍森林 http://www.lslnet.com 2006年6月6日 10:18
如何使用動態編譯?
在系統中加了一個SSL的庫,但是編譯的時候老是吧整個庫都編譯到程序裡面去,怎麼才不把庫編譯到程序裡去?
SSL會生成兩個.a文件,在編譯程序時一定要用-L../..指定這兩個文件的位置,否則連接時不能通過,如何才能做到執行該程序時程序自動去在/lib下查找這兩個庫? |
如何使用動態編譯?
設置LD_LIBRARY_PATH變量值 |
如何使用動態編譯?
.a是靜態庫文件,你只能在編譯時連接.
如果想讓程序在執行時動態連接,你需要動態連接庫文件,並且你的程序得做相應修改 |
如何使用動態編譯?
謝謝各位,我想到怎麼做了 。 |
如何使用動態編譯?
-->
希望能夠具體說明以下如何做到動態連接, 我對這方面涉及不足 |
如何使用動態編譯?
使用動態庫有兩種方式,一種是編譯時鏈接動態庫中的符號,一種是運行時動態打開庫中的函數。
第一種方式:
在sco下面,編譯動態庫時用-dy -G選項。編譯可執行目標文件時也加上述選項,並且把.so庫也鏈接進來。這樣不用修改程序。
第二種方式:
在程序中不直接使用.so中的函數,而是使用dlopen和dlclose。鏈接時也不用鏈接.so庫 |
如何使用動態編譯?
可以把部分程序做成DLL文件,當需要的時候,再編譯載入到內存中去 :-) |
| |