Noodlejay BlaBla

welcome and happy to share

C#使用C/C++ DLL

發表留言

什麼是DLL?

全名為Dynamic-link library,我的理解是可以把一個程式包裝起來並於程式間重複使用

首先我將A程式做成DLL,當我在開發B程式想要使用A程式功能時,只要引用A程式的DLL即可呼叫;省去了重新將加入A程式加入B程式的時間,優點可能還有很多,留給各位自己去體會。


產生可重複使用的程式 Creating Reusable Code (C++) 

在這個篇幅底下,微軟介紹了DLL以及LIB兩種,如果都是在C++環境底下使用,可以參考01跟02的方法,至於本篇想要闡述的是在C#中使用,所以必須以03.的方式進行DLL的產生跟引用。

01.Walkthrough: Creating and Using a Dynamic Link Library (C++)   限於C++環境下呼叫DLL

參考:https://msdn.microsoft.com/en-us/library/ms235636(v=vs.100).aspx

 

02.Walkthrough: Creating and Using a Static Library (C++)  好像也是C++限定 …

將程式編譯成 .lib 透過,需include  XXX.h,設定lib路徑 ….等

參考:https://msdn.microsoft.com/en-us/library/ms235627(v=vs.100).aspx

 

03.Walkthrough: Creating and Using a Managed Assembly (C++)   可於不同程式(語言)間使用的DLL

參考:https://msdn.microsoft.com/en-us/library/ms235638(v=vs.100).aspx

專案若以CLR類別建立,專案本身就支援Common Language Runtime,且類別的使用方式也幫你設立好了,只是其中有一個步驟設定不要使用"先行編譯標頭檔",不知道其用意為何?

By default, when a project is created, it is set up to use a precompiled header. To disable the precompiled header for the MathFuncsAssembly project, in Solution Explorer, select the project and then, on the Project menu, click Properties. Expand the Configuration Properties node, expand the C/C++ node, and then select Precompiled Headers. On the list next to Create/Use Precompiled Header, select Not Using Precompiled Header. Click OK to save these changes. For more information, see Creating Precompiled Header Files.

 

 

 

 


Reference:

1.前半部為C 的DLL,後半部為C++的DLL

http://goo.gl/sCd2pT

2. Call C-DLL

http://hhyeh.blogspot.tw/2012/04/cccdll.html

3. C# DLL 找不到進入點

http://www.programmer-club.com.tw/ShowSameTitleN/csharp/3009.html

 

 

 

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com 標誌

您的留言將使用 WordPress.com 帳號。 登出 /  變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 /  變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 /  變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 /  變更 )

連結到 %s