c#调用c++dll函数的开销?

qq_29817615 2016-02-03 01:01:19
如题! 我个人理解 加入不涉及到非托管内存和托管内存间的复制,这个开销和调用c#自己的dll函数 是一样的。
c#委托 可以作为函数指针给c++调用 。
想确认 c#调用c++dll里面函数 会造成额外开销吗?(不算加载dll的开销)
...全文
332 5 打赏 收藏 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wanghui0380 2016-02-03
  • 打赏
  • 举报
回复
pinvoke的消耗只在托管和非托管转换上,其他地方实际上一样 ps:其实在内存里运行的东西,最终效果也就是一堆静态方法,c++编译出来也是,net编译出来其实也一样,所以如果不涉及托管转换,他们调用方式完全一样
wanghui0380 2016-02-03
  • 打赏
  • 举报
回复
我能告诉你net基本核心库core,9成是用c++写的么?那么你说他调用c++有问题么?
qq_29817615 2016-02-03
  • 打赏
  • 举报
回复
简单是循环 测试,调用c++dll 100万次 130毫秒,调用c#dll 100万次10毫秒 ,但是只是循环也需要5毫秒, 不知道虚拟机优化的时候 是不是把c#dll 里面函数优化了,相当于没有调用函数开销!
Poopaye 2016-02-03
  • 打赏
  • 举报
回复
Poopaye 2016-02-03
  • 打赏
  • 举报
回复
你还不如自己写个简单的函数测试下呢 反正肯定比调用c#本身开销大

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧