Tag: 混合模式

创建从C到C#的混合模式C ++桥接?

我希望有人可以帮助我,我主要是一个C#开发人员,所以我的C和C ++技能很糟糕。 我有一个原生C dll,它是一个更大的应用程序的插件。 我使用gcc在linux上交叉编译这个dll for windows。 在我创建D3DSurface的原生dll中,我想在混合模式C ++ dll中调用一个函数,并将指针传递给表面以及Hwnd / handle。 那混合模式C ++应该调用我的C#托管代码。 例如,在CI中要做以下事情; Hwnd handle; LPDIRECT3DSURFACE d3dtarg; SurfaceCreated(handle, d3dtarg); 在C#中我希望从混合模式程序集中调用它 public static class D3DInterop { public static void SurfaceCreated(IntPtr handle, IntPtr surface) { //do work } } 由于我吮吸C ++,我只想知道是否有人能给我一个我需要为混合模式dll编码的例子。 我也不想用directx头编译混合模式dll,那么有没有办法将’C’LPDIRECT3DSURFACE转换为通用指针? 在C#中我只是使用IntPtr。

如何从Win32进程调用.NET DLL?

从Win32进程使用.NET DLL有哪些选择? 我需要基本上使用Win32进程中的C#DLL。 我现在有一个可能的解决方案,需要将C#DLL添加到GAC(使用RegAsm.exe),然后通过COM包装调用调用C#DLL。 然而,这个解决方案非常重。 它要求在应该运行此Win32进程的所有计算机上将.NET DLL添加到GAC 。 是否可以这样做而无需在能够使用C#DLL之前调用RegAsm ?