2010-08-23 53 views
0

我已经在VC++中编写了代码片段。但是,我无法在VC++中继续使用其他应用程序,所以想要转移到C#。在C#中使用C++代码#

我可以制作一个VC++代码的dll,并调用VC++编写的函数来使用C#吗?

我很不知道,如果这将工作,但我已经看到如何在C#中使用DLL调用本机代码。

任何人都可以请帮助我。

谢谢。

回答

1

您可以尝试使用/clr选项将您的C++代码编译为托管代码,然后直接使用它或使用P/Invoke从托管代码中调用非托管函数。

+0

我是否需要以某种特定方式编译非托管代码,以便从托管代码调用P/Invoke?你能给我一些链接吗?将感激不尽。 – Jayesh 2010-08-23 07:16:29

+1

@Joy,是的,你需要导出你想使用的函数:http://msdn.microsoft.com/en-us/library/3y1sfaz2(VS.80).aspx'__declspec(dllexport)'。为了避免名称损坏,请确保您也使用'extern“C”':http://www.flipcode.com/archives/Creating_And_Using_DLLs.shtml – 2010-08-23 07:20:53

+0

感谢队友的链接。我发现这个链接,也许值得一看,http://goo.gl/EIth – Jayesh 2010-08-23 07:27:50