从C#调用C++exe函数在我的C++代码中,我定义了一个API:_declspec(dllexport)//在编译.exe时这甚至可能吗?intgetSomething();有没有办法从C#代码调用此函数?经典方法是否有效:[DllImport("myexe.exe",CharSet=CharSet.Auto)]publicstaticexternintgetSomething();是的,任何PE可执行文件都可以导出这样的函数。请记住,编译器有时会破坏导出名称,导致类似这样的结果:MyAPIFunction@16您可以通过将可执行文件加载到PEInfo等工具中来检查名称是否正确。您应该能够以与DLL中的函数完全相同的方式调用它。UPDATEOK,所以看起来你想要IPC,而不是P/Invoke调用。请参阅此页面了解如何在C#中使用命名管道。这是开始查找有关如何在C++中使用命名管道的信息的好地方。是的,您可以像从.dll中导出函数一样从.dll中导出函数,并且您显示的方式是正确的方式。不,您不能通过这样做与现有进程交互,就像从.dll加载函数不允许您使用该.dll与其他进程交互一样。以上就是C#学习教程:从C#调用C++exe函数全部内容分享。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
