libc 和 lib-linux 這兩個最基本的庫都沒有,請問其他電腦上跑的是linux嗎?沒有這兩個庫,沒有一個程序可以運行。另外,不可能把已有的動態(tài)庫“直接”轉換成靜態(tài)庫,你只能從源碼編譯出靜態(tài)庫。
創(chuàng)新互聯(lián)建站從2013年創(chuàng)立,是專業(yè)互聯(lián)網技術服務公司,擁有項目成都做網站、成都網站建設網站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元興安做網站,已為上家服務,為興安各地企業(yè)和個人服務,聯(lián)系電話:18982081108
在程序更新、部署、發(fā)布的時候,使用靜態(tài)庫相對麻煩,如果一個靜態(tài)庫更新了,那它的應用程序都需要重新編譯,再發(fā)送給用戶,有的時候可能只是一個小的改動,但對于用戶來說,會導致整個程序重新下載。
原因是rcS 比/etc/profile先運行,rcS是一開機第一個運行的,這時候你的庫還沒有被連進來。建議把./myXX 放在/etc/profile 的末尾。
靜態(tài)庫在程序編譯時會被連接到目標代碼中,程序運行時將不再需要該靜態(tài)庫。 動態(tài)庫在程序編譯時并不會被連接到目標代碼中,而是在程序運行是才被載入,因此在程序運行時還需要動態(tài)庫存在。
Linux庫有動態(tài)與靜態(tài)兩種,動態(tài)通常用.so為后綴,靜態(tài)用.a為后綴。
1、靜態(tài)庫 可以把它想象成是一些代碼的集合,在可執(zhí)行程序運行前就已經加到了代碼中,成為了執(zhí)行程序的一部分,一般是以.a為后綴的文件名,Windows下后綴為.lib。
2、動態(tài)庫會在執(zhí)行程序內留下一個標記指明當程序執(zhí)行時,首先必須載入這個庫。由于動態(tài)庫節(jié)省空間,linux下進行連接的缺省操作是首先連接動態(tài)庫,也就是說,如果同時存在靜態(tài)和動態(tài)庫,不特別指定的話,將與動態(tài)庫相連接。
3、鏈接靜態(tài)庫,編譯的可執(zhí)行文件比較大,當然可以用strip命令精簡一下(如:strip libtest.a),但還是要比鏈接動態(tài)庫的可執(zhí)行文件大。程序運行時間速度稍微快一點。
4、靜態(tài)庫在程序編譯時會被連接到目標代碼中,程序運行時將不再需要該靜態(tài)庫。動態(tài)庫在程序編譯時并不會被連接到目標代碼中,而是在程序運行是才被載入,因此在程序運行時還需要動態(tài)庫存在。
1、有時候(很少)就是編譯器的錯誤。還有可能就是你調試的程序和你的源碼不匹配 你的程序已經崩潰了,破壞了堆?;蛘逩DB需要的數(shù)據(jù)。這個地方有特殊的定位信息 其他情況,還是比較多的,經常遇到。
2、安裝gdb方式,sudo apt-get install gdb ,有ok點擊ok安裝,直到安裝結束。gcc -g aa.c之后才能調試a.out文件。
3、學習Linux步驟:先了解了解基礎吧,找一本薄一點的,淺一點的書,了解一下什么是linux。有個基本了解即可。
4、掌握vi,gcc,gdb等常用編輯器,編譯器,調試器 。 理解shell別名、管道、I/O重定向、輸入和輸出以及shell腳本編程。 學習Linux環(huán)境下的組網。 以上是筆者學習Linux一些經驗,希望對你有些幫助。
網站欄目:linux動態(tài)庫加載命令 linux添加動態(tài)庫路徑
URL鏈接:http://aaarwkj.com/article34/dspgose.html
成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站維護、關鍵詞優(yōu)化、商城網站、外貿網站建設、網站營銷、標簽優(yōu)化
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)