在一些應用系統中經常會用到c#呼叫c++的一些**,特別是結構體、指標、引用等型別的傳遞。總結一下常用的一些型別傳遞。官方關於c#與c++互操作的文件
官方的乙個例子:
1。 c#與 c/c++的常用等效型別
參考:
wtypes.h
visual c++
visual c++ with /clr
common language runtime
handle
void *
void *
intptr, uintptr
byte
unsigned char
unsigned char
byte
short
short
short
int16
word
unsigned short
unsigned short
uint16
intint
intint32
uint
unsigned int
unsigned int
uint32
long
long
long
int32
bool
long
bool
boolean
dword
unsigned long
unsigned long
uint32
ulong
unsigned long
unsigned long
uint32
char
char
char
char
lpcstr
char *
string ^ [in], stringbuilder ^ [in, out]
string ^ [in], stringbuilder ^ [in, out]
lpcstr
const char *
string ^
string
lpwstr
wchar_t *
string ^ [in], stringbuilder ^ [in, out]
string ^ [in], stringbuilder ^ [in, out]
lpcwstr
const wchar_t *
string ^
string
float
float
float
single
double
double
double
double
2。 建立c#與c/c++互操作dll的步驟
1) 建立c/c++動態鏈結庫,匯出介面函式;
2) 在c#中建立介面的宣告,匯入介面函式;
3) 呼叫函式。
(待續)
呼叫動態鏈結庫(dll)
步驟 1.tools options projects and solutions vc directories分別在包含檔案,庫檔案填加了路徑 這些路徑只告訴編譯器怎麼找檔案,沒有說把那裡面的檔案加入工程.若不設定,編譯報錯 無法開啟 檔案 2.project properties c c gen...
C 呼叫C 動態鏈結庫dll
在過程中發現兩種方法解決問題 一種是非託管c 建立的dll庫,需要用靜態方法呼叫。這種方法無法在c 的reference中直接引用,而是要用靜態呼叫的方法,其他部落格已經介紹的很詳盡,唯一需要補充的是,c 檔案需要先 usingsystem.runtime.interopservices 之後才可以...
動態呼叫鏈結庫(dll) 續
最近一周做了乙個關於倉庫管理,揀貨任務分配的模組,其中涉及到刷卡自動列印領取任務的功能點。技術點 c 呼叫c delphi的動態鏈結庫。動態鏈結庫的呼叫方法不同。效果也不相同。dll位置 執行程式根目錄下面 例 第一種 dllimport shuipiao1.dll entrypoint check...