日期:2014-05-17  浏览次数:20970 次

C#中如何调用C++的函数?高手请进!~
需要的用到的C++函数:
int main()
{}

我的C#引用函数
  class GetModelData
  {
  [DllImport("MyCLP.dll", CallingConvention = CallingConvention.StdCall)]
  public static extern int main();

  public static void Run()
  {
  main();
  }
  }

现在它提示我说MyCLP.dll中找不到main这个接口,各位高手怎么办啊!C++里面只有MyCLP.dll这一个dll啊!!!

------解决方案--------------------
看看MyCLP.dll中函数是不是main,是不是通过def文件规定了输出名字,默认不会按照你写的名字输出的,会加一堆字母的
------解决方案--------------------
楼上说的有可能,C++编译DLL会改名,也可以通过Def文件改变输出名称

你可以使用VS自带的工具看看名字:dumpbin /exports DLL名字
------解决方案--------------------
确保导出函数名称确实为main,同时调用规范为__stdcall