没有合适的资源?快使用搜索试试~ 我知道了~
C和C#数据类型转换中的注意事项
5星 · 超过95%的资源 需积分: 9 25 下载量 131 浏览量
2010-05-22
13:21:19
上传
评论
收藏 131KB DOC 举报
温馨提示
试读
12页
每种编程语言调用DLL的方法都不尽相同,在此只对用C#调用DLL的方法进行介绍。首先,您需要了解什么是托管,什么是非托管。一般可以认为:非托管代码主要是基于win 32平台开发的DLL,activeX的组件,托管代码是基于.net平台开发的
资源推荐
资源详情
资源评论
C#和 C 的数据类型转换
一、宏定义转换 :
:
三、调用 接口函数参数类型转换注意事项:
、数据类型转换问题
因为 C#是.NET 语言,利用的是.NET
的基本数据类型,所以实际上是将
C++的数据类型与.NET 的基本数据类
型进行对应。
!!!!!!!!!
"!!!!!!!!!!!
#!!!!!!!!!!$
#!!!!!!!!!!!
%!!!!!!!!!!!
#!!!!!!!!!!
&$#!!!!!'(
例如
))的原有函数是:
int__stdcallFunctionName(unsignedcharparam1,unsignedshortpara
m2)
C#转换:[DllImport(“COMDLLpath/file”)]
externstaticintFunctionName(byteparam1,ushort
param2)
*、指针或地址参数传送问题
如果要调用的函数参数是指针或是地址变量,怎么办?对于这种情况可以使用 提
供的非安全代码来进行解决,但是,毕竟是非托管代码,垃圾资源处理不好的话对应用程
序是很不利的。所以还是使用 提供的 以及 & 修饰字比较好
例如:
)):int+ +,&-.&$+char+/-0+&$+char+#-*1
C#: 2 -.3+ +415+
extern+static+int+,&-.ref+byte+-0+ref+byte+-*1+
看到这,可能有人会问,%是取地址,#是传送指针,为何都只用 就可以了呢?一
种可能的解释是 是一个具有重载特性的修饰符,会自动识别是取地址还是传送指针。
在实际的情况中,我们利用参数传递地址更多还是用在传送数组首地址上。
中的数据转换
一、将 $ 转换成 '
6$78"...7 1'189$.11:
二、 类型转成 $
直接用 9$.1就可以了,例如:
&-:
$& &-89$.1:
三、$ 类型转成
如果不能确定字符串是否可以转成数字,可以用 8(.$0&& 10该语
句返回的是 ' 值,指示转换操作是否成功,参数 & 是存放转换结果的变量
豆腐干部
苏定方个
四、
这里讲的数据的类名指的是:9(-88'( 对应的类型,我是这样理解的。
类名9(- 中相对应的类型
' 9(-87 .布尔型,其值为&或者 1
9(-8.字符型,占有两个字节,表示个;字符1
'(9(-87(.字节型,占字节,表示<位正整数,范围=*>>1
'(9(-897(.带符号字节型,占字节,表示<位整数,范围!*<=*?1
&9(-8;@.无符号短整型,占*字节,表示@位正整数,范围=@>0>A>1
&9(-8;A*.无符号整型,占B字节,表示A*位正整数,范围=B0*CB0C@?0*C>1
& $9(-8;@B.无符号长整型,占<字节,表示@B位正整数,范围=大约的*
次方1
9(-8@.短整型,占*字节,表示@位整数,范围!A*0?@<=A*0?@?1
9(-8A*.整型,占B字节,表示A*位整数,范围!*0B?0B<A0@B<到*0B?0B<A0@B?1
$9(-8@B.长整型,占<字节,表示@B位整数,范围大约!.的C1次方到的
C次方1
9(-89$ .单精度浮点型,占B个字节1
&' 9(-8&' .双精度浮点型,占<个字节1
调用 文件
每种编程语言调用 的方法都不尽相同,在此只对用 调用 的方法进行介绍。首
先0您需要了解什么是托管0什么是非托管。一般可以认为:非托管代码主要是基于 "A*
平台开发的 ,D 的组件,托管代码是基于8 平台开发的。
.一1++++调用 中的非托管函数一般方法
首先,应该在 语言源程序中声明外部方法,其基本形式是:
2-.3 文件”15
修饰符返回变量类型方法名称(参数列表)
其中:
文件:包含定义外部方法的库文件。
修饰符:访问修饰符,除了 ' 以外在声明方法时可以使用的修饰符。
返回变量类型:在 文件中你需调用方法的返回变量类型。
方法名称:在 文件中你需调用方法的名称。
参数列表:在 文件中你需调用方法的列表。
注意:需要在程序声明中使用 9(-8E&-89 命名空间。
该服务负责 6$ 与 ;-$ 之间数据的包装转换
+++++ - 只能放置在方法声明上。
文件必须位于程序当前目录或系统定义的查询路径中(即:系统环境变量中 所设
置的路径)。
返回变量类型、方法名称、参数列表一定要与 文件中的定义相一致。
若要使用其它函数名,可以使用 F( 属性设置,如:
2 -.G&A*8 G0F(G6$7HG15
6$7.I0$-$0$0(1:
其它可选的 -H'&属性:
9指示用在入口点中的字符集,如:998H;
剩余11页未读,继续阅读
资源评论
- shield07712013-11-16不错,蛮全面的
- ptic0042012-12-17还行,有待编程使用
- jjyyshao2014-12-01还行吧,偶尔碰到这么个问题用到
bsdfvsuxhzkx
- 粉丝: 0
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功