2011-01-16

C++ 如何建立可以重覆使用的程式碼

參考MSDN:

http://msdn.microsoft.com/en-us/library/bb384835.aspx


C++ 如何建立可以重覆使用的程式碼,方式有三種:

1. Dynamic link libraries(*.dll)

2. Static libraries(*.lib)

3. Managed assemblies

這三種有什麼不同呢?

首先先區分12及3的不同,dll及lib只能在c++中重覆使用,如果今天想建立一個讓.NET語言(c#、Visual Basic)都可以使用的library,就只能使用第三種方式。

而1跟2都是在c++中使用的,他們的區別在於static library會在程式碼連結(*1*)時就將程式碼中呼叫到的function取代為library中真正的程式碼,也就是說利用static library編譯出的可執行檔中,已經包含了static library裡面的程式碼了。

而dll則不同 ,雖然使用dll函數的程式碼一樣會在程式碼連結階段去讀取*.lib,但是並沒有將原始的程式碼替換為dll中的程式碼,這個時候僅僅只有確定function的名稱而已,要等到程式執行時,才會真正使用這段程式碼,這也就是dynamic所代表的意思。

在這三種方式裡,最廣為使用的是dll的方式。



(*1*)程式碼編譯成可執行檔有兩步驟:

原始碼 --編譯--> 中間檔(機器語言) --連結--> 可執行檔

可參考:http://mcuos.com/thread-3793-1-1.html

沒有留言:

張貼留言