写了一个c++ 算法 dll , 但是需要在c#中调用,怎么只【dllimport(“”)】 一次,但能调用多个函数呢?看了这个帖子 http://topic.csdn.net/t/20060426/19/4716244.html ,但是在我这不管用。。依然提示 请考虑添加一个dllimport 特性。另外了解一下大家都是怎么调用c++ 计算模块的呢?都是用dllImport吗?求大侠!!路见不平,拔刀相助!
 

解决方案 »

  1.   

    http://www.codeproject.com/Articles/1557/Late-binding-on-native-DLLs-with-C用这个办法可以不需要申明[dllimport],动态在运行时加载函数。但是注意,这样做的根本目的是调用那些在编译的时候无法确定的dll(比如插件,运行时,用户选择了才知道,编写程序的时候鬼才知道用户会调用什么插件)。而不是为了“偷懒”的。另外需要你对Win32互操作有深刻地认识。
      

  2.   

    为何要用一个dllimport调用多个函数,这样做没有任何好处,既难懂又没好处,建议楼主不要考虑这个问题,调用c++的dll当然用dllimport最好了,
      

  3.   

    win32 dll都可以用api函数LoadLibraryEx/LoadLibrary/GetProcAddress来调用,不过很麻烦,你可以试试,