作者WPC001 (突然覺得自己是孤獨的...)
看板C_and_CPP
標題Re: [問題] dll改名為lib
時間Tue Jan 18 21:58:50 2011
※ 引述《clarkman (涼雨)》之銘言:
: 之前一直認為dll和lib是不同的東西,當用法也不能混用
: 但是到新公司,聽到同事手上有一份專案,要引用lib的時候,
: 就把.dll改名成.lib,然後再直接VC設定成link,就當成lib用
: 結果還真的跑得起來....
: 前幾天和另一個搞linux的朋友(別的公司)聊,他被臨時叫去搞
: 一個VC的專案,因為他之前沒碰過win和vc,所以就照以前留下
: 的流程去作,居然也是直接把.dll改名成.lib來link....
: 當有兩個人都這樣講得時候,我就動搖了
: 但是網路上也查不太到這樣的作法
: 有請問一下為什麼可以這樣作?
應該僅僅只是專案類型的切換
DLL專案 --> 輸出 .dll與.lib
(其他專案使用.lib進行連結, 程式真的開始執行時,
.lib內部的stub會自動載入.dll內容)
LIB專案 --> 輸出 .lib, 純粹靜態連結
不過個人認為, 程式本身還是有寫一些條件式編譯的程式碼
以方便在不同專案中切換
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.25.135.160
推 abliou:我比較想知道所謂的"動態"跟"靜態"到底差在哪 01/19 01:06
→ loveme00835:樓上可能要回去看一下 OS 課本喔 01/19 01:11
推 clarkman:我看他沒有用到lib,只用到dll重新改檔名成lib的檔案 01/19 11:09