C++與.NET中基礎類型的對應及轉化
前言:為了介紹C#寫界面,C++寫算法的快捷交互開發方式,首先介紹c++,C#內部的DLL,COM調用.
一,基礎類型
二,字符類型















































































































































































































































































三,其他
對于COM,在托管代碼和非托管代碼之間進行的所有調用都必須滿足各自編程模型強加的要求。托管和非托管編程模型在很多方面是不同的。下表顯示了每個模型的定義特征。
特征 | 非托管模型 | 托管模型 |
---|---|---|
基于接口 |
基于對象 |
|
GUID |
強名稱 |
|
HRESULT |
異常 |
|
二進制標準 |
類型標準 |
|
類型庫 |
元數據 |
|
非類型安全 |
可選安全 |
|
不可變的 |
靈活的 |
COM類型對應:
COM 值類型 | COM 引用類型 | 系統類型 |
---|---|---|
bool |
bool * |
|
char、small |
char *、small * |
|
short |
short * |
|
long、int |
long *、int * |
|
Hyper |
hyper * |
|
unsigned char、byte |
unsigned char *、byte * |
|
wchar_t、unsigned short |
wchar_t *、unsigned short * |
|
unsigned long、unsigned int |
unsigned long *、unsigned int * |
|
unsigned hyper |
unsigned hyper * |
|
float |
float * |
|
double |
double * |
|
VARIANT_BOOL |
VARIANT_BOOL * |
|
void* |
void ** |
|
HRESULT |
HRESULT * |
System.Int16 或 System.IntPtr |
SCODE |
SCODE * |
System.Int32 |
BSTR |
BSTR * |
|
LPSTR 或 [string, ...] char * |
LPSTR * |
System.String |
LPWSTR 或 [string, …] wchar_t * |
LPWSTR * |
System.String |
VARIANT |
VARIANT * |
|
DECIMAL |
DECIMAL * |
|
DATE |
DATE * |
|
GUID |
GUID * |
|
CURRENCY |
CURRENCY * |
|
IUnknown * |
IUnknown ** |
System.Object |
IDispatch * |
IDispatch ** |
System.Object |
SAFEARRAY( type ) |
SAFEARRAY( type ) * |
type [] |
四,參考:
http://www.codeproject.com/managedcpp/StringConvertor.asp
http://www.voidnish.com/articles/ShowArticle.aspx?code=StringConvertor
posted on 2007-05-29 13:55 夢在天涯 閱讀(5204) 評論(3) 編輯 收藏 引用 所屬分類: CPlusPlus 、Manage c++ /CLI