C#调用C++生成的DLL文件会影响C++程序的执行效率吗?

如题,在实际项目中感觉用MFC做界面即麻烦做出来的程序也不美观,于是乎决定用C#调用C++生成的DLL文件,那问题来了,C++本来偏向于底层,这样用C#来调用它,程序的执... 如题,在实际项目中感觉用MFC做界面即麻烦做出来的程序也不美观,于是乎决定用C#调用C++生成的DLL文件,那问题来了,C++本来偏向于底层,这样用C#来调用它,程序的执行效率会变低吗?请举例说明,或者从执行原理解释一下。 展开
 我来答
人生做回自己
2014-12-07 · TA获得超过423个赞
知道小有建树答主
回答量:722
采纳率:100%
帮助的人:511万
展开全部
你好!
c#走的是.net体系托管程序,c++的dll动态库更为直接,c#调用c++写的dll不失为提高效率的做法。但个人认为应该尽量减少调用的次数,可以在c++动态库中完成较大工作量的工作,减少互相的通信和反复数据交换,因此把工作量较大和运算时间和逻辑复杂的封装在dll内部,将结果以简单的形式返回到调用的c#中,这样可以达到两种开发方式的优势都发挥出来的效果。同时这种效率是与都用c++比较而言的,c#本身调用dll的效率应该也不是很低的,调用次数很少的情况下可以忽略这种调用对性能的影响。
更多追问追答
追问
那就是只要把复杂算法交给dll处理的同时减少调用次数就好了吗?还有调用的时候需要注意什么啊?
追答
  你好,其实和在c#中调用一般的windows API函数是没什么区别的,效率不是太大的问题。只是注意调用次数和设计更为合理的实现对程序的架构更加合理。
mafangsan
推荐于2016-08-29 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1万
采纳率:71%
帮助的人:2505万
展开全部

C#调用C++生成的DLL文件不会影响C++程序的执行效率。

 

细节如下:

  1. DLL执行的时候,已经是C++编译后的目标语言,和C#没有关系;

  2. C#调用的时候需要二者传递一下参数,传递完成后就是C++程序的效率在执行了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式