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

2025-01-24 09:51:12
推荐回答(2个)
回答1:

你好!
c#走的是.net体系托管程序,c++的dll动态库更为直接,c#调用c++写的dll不失为提高效率的做法。但个人认为应该尽量减少调用的次数,可以在c++动态库中完成较大工作量的工作,减少互相的通信和反复数据交换,因此把工作量较大和运算时间和逻辑复杂的封装在dll内部,将结果以简单的形式返回到调用的c#中,这样可以达到两种开发方式的优势都发挥出来的效果。同时这种效率是与都用c++比较而言的,c#本身调用dll的效率应该也不是很低的,调用次数很少的情况下可以忽略这种调用对性能的影响。

回答2:

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

 

细节如下:

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

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