C#中如何调用C++的函数?高手请进!~

ODecO 2012-09-03 04:35:15
需要的用到的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啊!!!
...全文
138 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ODecO 2012-09-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
看看MyCLP.dll中函数是不是main,是不是通过def文件规定了输出名字,默认不会按照你写的名字输出的,会加一堆字母的
[/Quote]

怎么看MyCLP.dll中函数是不是main?
jingzhongrong 2012-09-03
  • 打赏
  • 举报
回复
确保导出函数名称确实为main,同时调用规范为__stdcall
isjoe 2012-09-03
  • 打赏
  • 举报
回复
楼上说的有可能,C++编译DLL会改名,也可以通过Def文件改变输出名称

你可以使用VS自带的工具看看名字:dumpbin /exports DLL名字
bdmh 2012-09-03
  • 打赏
  • 举报
回复
看看MyCLP.dll中函数是不是main,是不是通过def文件规定了输出名字,默认不会按照你写的名字输出的,会加一堆字母的

110,538

社区成员

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

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

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