游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3420|回复: 5

一个API问题!

[复制链接]

23

主题

142

帖子

142

积分

注册会员

Rank: 2

积分
142
发表于 2007-11-5 18:49:00 | 显示全部楼层 |阅读模式
Public Shared Function QueryPerformanceFrequency(ByRef lpFrequency As Int64) As Integer
End Function'.NET
Public Declare Function QueryPerformanceFrequency Lib "kernel32" Alias "QueryPerformanceFrequency" (ByVal lpFrequency As LARGE_INTEGER) As Long'6.0
一个大家很熟悉的API,问题是为什么VB.NET可以那么去引用它,有什么好处和特别的地方?(越来越发现.NET的强大了!~)

23

主题

142

帖子

142

积分

注册会员

Rank: 2

积分
142
 楼主| 发表于 2007-11-5 18:51:00 | 显示全部楼层

Re:一个API问题!

补充:是不是使用了什么.NET的机制?麻烦了解.NET这方面的人帮个忙.

0

主题

25

帖子

25

积分

注册会员

Rank: 2

积分
25
发表于 2007-11-5 22:46:00 | 显示全部楼层

Re:一个API问题!

第一个用的DllImport()?我认为DllImport可以自定义调用的更多细节。另外对于不支持API声明的语言,也只能像第一种这样声明。还有些类似的,MSDN中有

BTW:不妨用Stopwatch类(System.Diagnostics.Stopwwatch),也是高精度的,这样你就不用使用API了
如果你以后打算移植到Mono,也不用发愁去除这些API了

23

主题

142

帖子

142

积分

注册会员

Rank: 2

积分
142
 楼主| 发表于 2007-11-6 12:52:00 | 显示全部楼层

Re:一个API问题!

呵呵!~非常谢谢,不过 Stopwatch类是2.0版本才有的,我现在只是用VS2003,总是觉得MS就是喜欢把东西做的很大!
操作系统是,开发环境也是.VS2005界面我真的不太习惯(不过一定还是会去看看的,没办法-_-!)

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2007-11-12 17:24:00 | 显示全部楼层

Re:一个API问题!

1.1问题还是比较多的

20

主题

451

帖子

470

积分

中级会员

Rank: 3Rank: 3

积分
470
发表于 2007-11-15 06:48:00 | 显示全部楼层

Re:一个API问题!

第一个应该是加入了DllImport属性的
VB.net同样支持vb6的那种申明方式~

不过我也同样强烈推荐你使用2.0(VS2005)的VB.net,要强大很多,加入了continue关键字,甚至支持自定义操作符,所以像这种写法再也不是梦:
dim aa =new IO.MemoryStream(tmp)
dim bb as integer=1
dim cc as string =" test"
aa=aa<<bb<<cc

(将bb,cc顺次写入流)
另外还有2.0对泛型的支持~Dictionary<Key T,Value T> List<Value T>可是个超级方便的东西

还有一个建议,在.net环境下不要再使用Win32 API,因为几乎所有的已经封装到.net库中了。
而且,只调用.net库的话,你写得程序,甚至不用重新编译,直接将.exe文件拿去就能在Linux下毫无问题的运行
如果调用了Win32 API就不能了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-19 04:03

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表