在過程中發現兩種方法解決問題:一種是非託管c++建立的dll庫,需要用靜態方法呼叫。這種方法無法在c#的reference中直接引用,而是要用靜態呼叫的方法,其他部落格已經介紹的很詳盡,唯一需要補充的是,c#檔案需要先:
using
system.runtime.interopservices;
之後才可以呼叫[dllimport]方法。
另一種方法是直接使用clr,生成託管c++dll庫。
建立流程
例程如下
c++ dll:12
3456
78910
1112
1314
1516
17// cpplibdemo.h
#pragma once
using
namespace
system;
namespace
cpplibdemo
};
}
c#語言:12
3456
78910
1112
1314
1516
1718
1920
using
system;
using
system.collections.generic;
using
system.linq;
using
system.text;
using
system.threading.tasks;
using
cpplibdemo;
namespace
}
}
呼叫動態鏈結庫(dll)
步驟 1.tools options projects and solutions vc directories分別在包含檔案,庫檔案填加了路徑 這些路徑只告訴編譯器怎麼找檔案,沒有說把那裡面的檔案加入工程.若不設定,編譯報錯 無法開啟 檔案 2.project properties c c gen...
C 呼叫C C 動態鏈結庫DLL 一
在一些應用系統中經常會用到c 呼叫c 的一些 特別是結構體 指標 引用等型別的傳遞。總結一下常用的一些型別傳遞。官方關於c 與c 互操作的文件 官方的乙個例子 1。c 與 c c 的常用等效型別 參考 wtypes.h visual c visual c with clr common langua...
建立C 動態鏈結庫 dll
先來一段vc 給我們提供的標準模板 ifdef connection exports define connection api declspec dllexport else define connection api declspec dllimport endif 此類是從 connectio...