導航:首頁 > 源碼編譯 > net靜態編譯c

net靜態編譯c

發布時間:2023-12-03 10:15:52

A. 如何編譯C/Fortran動態/靜態鏈接庫

首先,傳統的編譯,也就是
靜態編譯
是把
源文件
翻譯成目標文件,這個是一次性過程,也就是你所謂的靜態編譯。
後來的Java和.NET等語言,首先編譯成中間形式,然後運行過程中根據需要編譯成本地代碼(注意這個過程不是一次性的,下次運行重新編譯),這個就是JIT(即時編譯)技術,從即時編譯發展出了動態編譯技術
————————————
(傳統的)編譯完成後,像C/C++、Fortran、匯編等語言,可以把多個目標文件合並到一個
庫文件
中,這個就是靜態庫。比如常說的
庫函數
printf就是libc裡面的函數。
如果有了啟動函數(main),main裡面使用了printf,就可以通過
靜態鏈接
技術,從libc中提取出printf所在的文件加入到可執行文件中,如果printf還需要其它函數,就繼續搜索並加入列表,直到形成一個
閉包
。這個就是靜態鏈接。
可是靜態鏈接有個明顯的缺點,如果每個程序都需要printf,那麼printf這個函數的代碼就會同時存在在每個程序中,這樣也太佔地方了吧。所以發明了動態連接技術,其實有兩種形式。無論哪一種,都是首先記錄下需要調用printf這個函數以及所在的
動態庫
,等到運行的時候再載入動態庫,從動態庫中找到真正的printf去執行。
由於,
動態鏈接
技術需要一些額外的信息,傳統的靜態庫是不具備的,這些額外信息主要是重復載入和卸載時所需要的一些代碼,因此需要
動態鏈接庫

閱讀全文

與net靜態編譯c相關的資料

熱點內容
phpstudy做伺服器如何使用 瀏覽:950
平板怎麼下載安卓國服 瀏覽:775
源碼時代找不到工作會退錢嗎 瀏覽:212
如何app搭建伺服器 瀏覽:844
javastringblob 瀏覽:295
王瑤pdf 瀏覽:857
開掛軟體顯示請連接伺服器地址 瀏覽:916
蘋果怎麼下載安卓倩女 瀏覽:586
vip藍光視頻解析網站源碼 瀏覽:940
伺服器ps1ps2是什麼意思 瀏覽:858
seo命令 瀏覽:867
可代理雲伺服器 瀏覽:973
本地伺服器連接失敗是什麼意思 瀏覽:868
華為平板如何將應用app分身 瀏覽:897
微信顯示無法連接到伺服器1302什麼意思 瀏覽:627
java有哪些函數 瀏覽:754
隨遇app怎麼收費 瀏覽:203
如何將家用電腦做伺服器外網 瀏覽:805
命令方塊如何設置有條件 瀏覽:585
基於雲伺服器的井下監控裝置 瀏覽:788